Skip to content
ページの内容

フラグメント
新機能

概要

Vue 3 では、マルチルートノードのコンポーネント、つまりフラグメントを公式にサポートするようになりました!

2.x の構文

2.x では、マルチルートコンポーネントはサポートされておらず、ユーザーが誤って作成すると警告が表示されました。その結果、このエラーを解決するために、多くのコンポーネントが 1 つの <div> でラップされていました。

html
<!-- Layout.vue -->
<template>
  <div>
    <header>...</header>
    <main>...</main>
    <footer>...</footer>
  </div>
</template>

3.x の構文

3.x では、コンポーネントは複数のルートノードを持つことができるようになりました! ただしこの場合、開発者は属性を配布する場所を明示的に定義する必要があります。

html
<!-- Layout.vue -->
<template>
  <header>...</header>
  <main v-bind="$attrs">...</main>
  <footer>...</footer>
</template>

属性継承の仕組みについては、フォールスルー属性を参照してください。