v-slot插槽实践用法讲解

lxf2023-05-16 01:15:00

当声明的子组件需要在某个位置留出一段空间,让调用子组件的父组件自己扩展维护时,就需要用到vue的插槽概念 v-solt。 v-solt分为三种类型: 1.匿名插槽(也叫默认插槽),不需要命名,并且每个子组件有且只能声明一个

eg.

//父组件
<component> 
    <template v-slot:default>
       任意内容
    </template>
</component> 

//子组件 component
<slot>默认值</slot>

声明方式就是子组件写个不带name属性的 slot元素,父组件调用也不需要指定name,默认内容填充到匿名插槽中,v-slot:default声明的模块可以省略,默认子组件标签内的未指定name的都填充到匿名组件中。 2.具名插槽,与匿名插槽的区别是,子组件声明时,需要定义name属性,父组件调用时也需要指定插槽对应的子组件插槽的name属性

eg.

//父组件
<component> 
    <template v-slot:cos> // 指定包裹内容是填充到子组件name为cos的插槽内
       任意内容
    </template>
</component> 

//子组件
<slot name="cos">默认值</slot> // 需要定义name属性

3.作用域插槽,可以从父组件中拿到子组件中定义的数据

eg.

// 子组件
<slot name="cos" :data="content">
    {{ content.data}}
 </slot> 
data() {
    return {
      content:{
        data:"测试数据"
        ...
      }
    }
  },
  ...
  }
//父组件
<component>
 <template v-slot:cos="dataFromChild" >//dataFromChild 自定义接收子组件的数据的对象
   {{dataFromChild.content.data}}
 </template> 
</component> 

这样就可以在父组件中拿到子组件的数据进行操作了。

本网站是一个以CSS、JavaScript、Vue、HTML为核心的前端开发技术网站。我们致力于为广大前端开发者提供专业、全面、实用的前端开发知识和技术支持。 在本网站中,您可以学习到最新的前端开发技术,了解前端开发的最新趋势和最佳实践。我们提供丰富的教程和案例,让您可以快速掌握前端开发的核心技术和流程。 本网站还提供一系列实用的工具和插件,帮助您更加高效地进行前端开发工作。我们提供的工具和插件都经过精心设计和优化,可以帮助您节省时间和精力,提升开发效率。 除此之外,本网站还拥有一个活跃的社区,您可以在社区中与其他前端开发者交流技术、分享经验、解决问题。我们相信,社区的力量可以帮助您更好地成长和进步。 在本网站中,您可以找到您需要的一切前端开发资源,让您成为一名更加优秀的前端开发者。欢迎您加入我们的大家庭,一起探索前端开发的无限可能!