vue3学习笔记(插槽)

简介: vue3学习笔记(插槽)
  • 父级组件中使用 <A> </A> 并且不提供任何插槽内容时,子组件中 <slot></slot>标签中的内容当作默认内容展示。
  • v-slot 只能添加在 <template(一种情况除外,当被提供的内容只有默认插槽时,组件的标签才可以被当作插槽的模板来使用。这样我们就可以把 v-slot 直接用在组件上。
  • 缩写, v-slot: 替换为字符 #。例如 v-slot:header 可以被重写为 #header。
  • 默认插槽的缩写语法不能和具名插槽混用,因为它会导致作用域不明确。
  • 多个插槽,要始终为所有的插槽使用完整的基于 <template


匿名插槽


    父组件:
      <A>
        这是xxxxx数据
        这是yyyyy数据
      </A>
    子组件:
      <header>
        <div>头部</div>
        <slot></slot>
      </header>
      <footer>
        <div>底部</div>
        <slot></slot>
      </footer>

具名插槽


        父组件:      
            <A>
        <template v-slot:xxx>
          这是xxxxx数据
        </template>
        <template v-slot:yyy>
          这是yyyyy数据
        </template>
      </A>
      ***简写:<template #xxx>
    子组件:
      <header>
        <div>头部</div>
        <slot name='xxx'></slot>
        <slot name='yyy'></slot>
      </header>

作用域插槽


绑定在 <slot > 元素上的 attribute 被称为插槽 prop。现在在父级作用域中,我们可以使用带值的 v-slot 来定义我们提供的插槽 prop 的名字,当然也可以直接解构,以下我直接使用解构。

使用解构时,可以重新命名,例如将 data 重命名为 item:


      父组件:
      <template v-slot='{data}'>
        {{ data.name }} --> {{ data.age }}
      </template>
      简写:<template #default='{data}'>
    子组件:
      <div v-for='item in list' :key='item.id'>
        <slot :data='item'></slot>
      </div>
      <script setup>
      const list = ref([
          {name:"张三",age:"21"},
        {name:"李四",age:"22"},
        {name:"王五",age:"23"},
      ])
      </script>

动态插槽


    父组件:
      <template #[xxx]>
        这是xxxxx数据
      </template>
      <script setup>
      let xxx = ref('xxx');
      </script>
目录
相关文章
|
16天前
|
存储 JavaScript 前端开发
vue3的脚手架模板你真的了解吗?里面有很多值得我们学习的地方!
【10月更文挑战第21天】 vue3的脚手架模板你真的了解吗?里面有很多值得我们学习的地方!
vue3的脚手架模板你真的了解吗?里面有很多值得我们学习的地方!
|
13天前
|
JavaScript 前端开发 开发者
Vue 3中的Proxy
【10月更文挑战第23天】Vue 3中的`Proxy`为响应式系统带来了更强大、更灵活的功能,解决了Vue 2中响应式系统的一些局限性,同时在性能方面也有一定的提升,为开发者提供了更好的开发体验和性能保障。
30 7
|
14天前
|
前端开发 数据库
芋道框架审批流如何实现(Cloud+Vue3)
芋道框架审批流如何实现(Cloud+Vue3)
36 3
|
13天前
|
JavaScript 数据管理 Java
在 Vue 3 中使用 Proxy 实现数据双向绑定的性能如何?
【10月更文挑战第23天】Vue 3中使用Proxy实现数据双向绑定在多个方面都带来了性能的提升,从更高效的响应式追踪、更好的初始化性能、对数组操作的优化到更优的内存管理等,使得Vue 3在处理复杂的应用场景和大量数据时能够更加高效和稳定地运行。
34 1
|
13天前
|
JavaScript 开发者
在 Vue 3 中使用 Proxy 实现数据的双向绑定
【10月更文挑战第23天】Vue 3利用 `Proxy` 实现了数据的双向绑定,无论是使用内置的指令如 `v-model`,还是通过自定义事件或自定义指令,都能够方便地实现数据与视图之间的双向交互,满足不同场景下的开发需求。
34 1
|
15天前
|
JavaScript
如何在 Vue 中使用具名插槽
【10月更文挑战第25天】通过使用具名插槽,你可以更好地组织和定制组件的模板结构,使组件更具灵活性和可复用性。同时,具名插槽也有助于提高代码的可读性和可维护性。
15 2
|
15天前
|
JavaScript
Vue 中的插槽
【10月更文挑战第25天】插槽的使用可以大大提高组件的复用性和灵活性,使你能够根据具体需求在组件中插入不同的内容,同时保持组件的结构和样式的一致性。
15 2
|
15天前
|
前端开发 JavaScript
简记 Vue3(一)—— setup、ref、reactive、toRefs、toRef
简记 Vue3(一)—— setup、ref、reactive、toRefs、toRef
|
16天前
Vue3 项目的 setup 函数
【10月更文挑战第23天】setup` 函数是 Vue3 中非常重要的一个概念,掌握它的使用方法对于开发高效、灵活的 Vue3 组件至关重要。通过不断的实践和探索,你将能够更好地利用 `setup` 函数来构建优秀的 Vue3 项目。
|
19天前
|
JavaScript API
vue3知识点:ref函数
vue3知识点:ref函数
29 2