插槽slot

插槽(slot)是vue组件的封装者提供的能力。允许开发者在组装组件时,把不确定、希望由用户指定的部分定义为插槽。

插槽slot

 

slot的name属性

vue官方规定每一个slot插槽,都要有一个name名称,

如果省略了slot的那么属性,则会有一个默认名称叫做default。

默认情况下,在使用组件的时候,提供的内容会被填充到名字为default的插槽中。

1.如果要把内容填充到指定名称的插槽中,,要使用v-slot指令

2.v-slot指令后面要跟上插槽的名字

3.v-slot指令不能直接使用在元素身上,必须用在template标签上

4.template这个标签,他是一个虚拟标签,只起到包裹性质的作用,不会被渲染会实质性的html元素

插槽slot

 

5.v-slot: 可以简写为#

v-slot的默认内容

直接在<slot></slot>中输入文本即可

<slot>这是插槽默认的内容</slot>

具名插槽的定义与使用

带名字的插槽就叫具名插槽

插槽slot

 

我们还可以在<slot>的标签中添加自定义属性列入:

<slot name="content" msg="hello vue"></slot>

如果想要在父组件的能够直接访问到子组件中的msg,应该怎么做呢?

我们可以在父组件调用content这个插槽的组件中接收一个对象

插槽slot

 

obj就是一个形参,可以是任意名称,通过{{obj.msg}}拿到msg中的数据。

作用域插槽的解构赋值

插槽slot

 

如何结构:

插槽slot

 

上一篇:vue指令:v-on


下一篇:Matlab中assert函数的使用