Vue 插槽讲解

什么是插槽?

Slot 通俗的理解就是“占坑”,在组件模板中占好了位置,当使用该组件标签时候,组件标签里面的内容就会自动填坑(替换组件模板中slot位置)并且可以作为承载分发内容的出口。

简单的来说为了更加抽象的去复用组件而诞生的功能。

默认插槽

在组件中使用来进行插槽定义,例如



在其他组件调用时调用

具名插槽

具名插槽本质上就是在默认插槽的基础上,进行相关命名,在使用时通过指定的命名去选择对应的插槽进行填充。

子组件中:

ps:通过name="xx" 来对插槽进行命名。事实上默认插槽的name是“default”

        

父组件中:

ps:可使用 v-slot:xx 或 #xx 来指定对应的插槽进行插入

        
          
          
        

作用域插槽

简单的理解,就是数据由子组件自身决定,而数据的展现形式由组件的使用者来决定。

子组件中:

  • 如下games的数据由组件本身提供,但是数据展现的形式由调用者来决定。
  • 通过 “:Xxx”来传递数据给调用者
      

      

父组件中:

  • 组件通过v-slot获取对应数据对象
      
      
      
        
  • {{ g.name }}

v-slot注意点

要注意命名的选择和数据的获取,如下例子


你可能感兴趣的:(vue.js,前端,javascript,typescript,前端框架)