ホームページ > ウェブフロントエンド > Vue.js > 「[Vue 警告]: 複数のルート ノードが返されました」エラーを解決する方法

「[Vue 警告]: 複数のルート ノードが返されました」エラーを解決する方法

PHPz
リリース: 2023-08-20 10:37:45
オリジナル
967 人が閲覧しました

解决“[Vue warn]: Multiple root nodes returned”错误的方法

「[Vue 警告]: 複数のルート ノードが返されました」エラーを解決する方法

Vue.js を使用して Web アプリケーションを開発する場合、さまざまな種類のエラーが発生することがよくあります。エラーの。よくあるエラーの 1 つは、「[Vue warn]: 複数のルート ノードが返されました」です。このエラーは通常、Vue のテンプレート構文を使用するときに発生し、コンポーネント内で複数のルート ノードが返されることを示します。

Vue では、ルート ノードは、コンポーネント テンプレートのタグで直接ラップされたコンテンツを指します。たとえば、Vue コンポーネントのテンプレートでは、通常、以下に示すようにルート ノードは 1 つだけです:

<template>
  <div>
    <!-- 这是根节点 -->
    <h1>标题</h1>
    <p>正文内容</p>
  </div>
</template>
ログイン後にコピー

ただし、テンプレート内で誤って複数のルート ノードを返す場合があり、Vue が "[ Vue warn]: 複数のルート ノードが返されました」エラー。この状況は通常、次の状況で発生します:

  1. テンプレートで複数のルートレベル要素が使用されている:
<template>
  <h1>标题1</h1>
  <h2>标题2</h2>
</template>
ログイン後にコピー
  1. がテンプレート Vue の条件付きレンダリングで使用されているまたはループ レンダリング命令により複数の要素が生成されました:
<template>
  <div v-if="condition">
    <h1 v-for="item in items">{{ item }}</h1>
  </div>
</template>
ログイン後にコピー
  1. テンプレートで Vue のスロットを使用した結果、複数の要素が生成されました:
<template>
  <div>
    <slot name="header"></slot>
    <slot name="content"></slot>
  </div>
</template>
ログイン後にコピー

状況に関係なく、テンプレートで複数のルート ノードが返されると、Vue は「[Vue warn]: Multiple root Nodes returns」エラーをスローします。

このエラーを解決するには、テンプレート内にルート ノードが 1 つだけ存在することを確認する必要があります。一般的な解決策をいくつか示します。

  1. <template> タグを使用して、複数のルートレベル要素をラップします。
<template>
  <template>
    <h1>标题1</h1>
    <h2>标题2</h2>
  </template>
</template>
ログイン後にコピー
  1. <div> 複数の要素をラップするためのタグ:
<template>
  <div>
    <h1>标题1</h1>
    <h2>标题2</h2>
  </div>
</template>
ログイン後にコピー
  1. 条件付きレンダリングまたはループ レンダリング命令を使用する場合は、ルート レベルの要素が 1 つだけレンダリングされるようにしてください。
<template>
  <div v-if="condition">
    <h1>{{ title }}</h1>
  </div>
</template>
ログイン後にコピー
  1. スロットを使用する場合は、複数のスロットの内容を 1 つの要素でラップします:
<template>
  <div>
    <div>
      <slot name="header"></slot>
    </div>
    <div>
      <slot name="content"></slot>
    </div>
  </div>
</template>
ログイン後にコピー

上記の解決策を使用すると、「[Vue warn]」の発生を回避できます。 : 複数のルート ノードが返されました」というエラーが発生し、Vue アプリケーションが正常に動作することを確認します。

要約すると、Vue.js を使用する場合は、テンプレート内でルート ノードを 1 つだけ返すことに特別な注意を払う必要があります。 「[Vue 警告]: 複数のルート ノードが返されました」エラーが発生した場合は、<template><div>、または適切なリファクタリング コードを使用して、この問題を解決できます。このようにして、Vue アプリケーションをスムーズに開発して実行できます。

以上が「[Vue 警告]: 複数のルート ノードが返されました」エラーを解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート