vue3 Fragments

阅读数:49 评论数:0

跳转到新版页面

分类

html/css/js

正文

在早期的 Vue 版本中,每个单文件组件 (Single File Component, SFC) 都必须有一个单独的根元素。这意味着所有的模板内容都必须包裹在一个父元素内,如下所示:

<template>
  <div>
    <h1>标题</h1>
    <p>段落内容</p>
  </div>
</template>

在这个例子中,<div> 是模板的根元素,包裹了其他的所有元素。这种限制有时会导致不必要的 DOM 层级,尤其是在创建如列表项 (<li>)、表格行 (<tr>) 或其他需要特定父元素的 HTML 结构时。

Vue 3 引入了 Fragments 特性,它允许开发者创建多个根元素的组件,而无需一个共同的父元素。这意味着你可以编写如下的组件:

<template>
  <h1>标题</h1>
  <p>段落内容</p>
</template>

在这个例子中,<h1> 和 <p> 元素都是根元素,它们并列存在,不再需要一个额外的 <div> 来包裹它们。

Fragments 的好处是减少了 DOM 的复杂性,使得生成的 HTML 更加精简,同时也让组件的结构更加灵活。这对于创建可复用的 UI 库或框架组件尤其有用,因为它们可以在不添加额外 DOM 节点的情况下,被插入到任何地方。

 




相关推荐

一、生命周期 1、vue2生命周期 beforeCreate #实例初始化之后,进行数据侦听和事件/侦听器的配置之前同步调用 created #实例创建完成后被立即同步调用 beforeMount #

一、使用pnpm新建项目 可以使用npm 或yarn或pnpm来初始化Vite项目 pnpm create vite xxx(项目名称) #选择vue #选择js cd xxx (进入项目目录) #安

一、概述 <script setup> 是在单文件组件(SFC)中使用组合式API的编译时语法糖,解决Vue3.0中setup需要频繁将声明的变量、函数以及import引入的内容通过return向外

一、概述 在vue2中,data函数里返回的值直接为响应式,但在vue3中我们需要使用一些函数才能达到这个效果。 setup函数中拿不到vue的this。 二、常用函数 <template> <d

<script> export default { setup() { const func1= () => { console.log("func1");

缓存页面主要Jul为了防止重复渲染dom,减少加载时间及性能消耗,提高用户体验。 一、旧版的语法 <keep-alive> <router-view v-if="$route.meta.kee

一、在main.js挂载 import { createApp } from 'vue' import App from './App.vue' import router from './route

一、概述 在vue3中没有$refs这个对象,可以使用如下方法 <template> <div><input type="text" ref="txt1" value="hello" /></div>

方式一、全局引入 全局引入element之后事,element已经在app.config.globalProperties添加了全局方法$message,所以可以在组件中直接使用。 方式二、按需引入

一、useRouter传参的方式 1、隐匿传参params import { useRouter } from 'vue-router' export default { setup() {