vue实现fragment
Vue 3 中实现 Fragment
Vue 3 默认支持 Fragment,无需特殊配置。组件模板中可以直接包含多个根节点,Vue 会自动将其处理为 Fragment。
<template>
<div>节点1</div>
<div>节点2</div>
</template>
Vue 2 中实现 Fragment
Vue 2 需要通过第三方库或特殊组件实现 Fragment 功能。
方法一:使用 vue-fragment 库

-
安装库:
npm install vue-fragment -
在组件中使用:

import { Plugin as Fragment } from 'vue-fragment' Vue.use(Fragment)
// 模板中使用
方法二:使用函数式组件
// 创建 Fragment 组件
Vue.component('fragment', {
functional: true,
render(createElement, ctx) {
return ctx.children
}
})
// 使用方式
<template>
<fragment>
<div>节点1</div>
<div>节点2</div>
</fragment>
</template>
使用场景
- 需要返回多个同级节点时
- 避免不必要的包装元素
- 表格中需要渲染多个 tr 元素
- 列表项需要直接渲染多个 li 元素
注意事项
- Vue 3 项目无需额外处理,直接使用多根节点即可
- Vue 2 中使用 Fragment 时,某些工具可能不支持完全兼容
- 样式作用域在 Fragment 中可能表现不同
- 过渡动画在 Fragment 上可能无法正常工作






