首页 > 编程知识 正文

slot插槽能插什么,slot插槽的使用方法

时间:2023-05-05 11:11:04 阅读:109017 作者:3144

vue提供了一种将父组件的内容与子组件的模板集成在一起的方法。 内容分发通过slot插槽实现。

缺省情况下,写入组件标记内部的内容将被替换。 如果要在组件模板中使用这些内容,请在相应的位置写slot标签。 此slot标签表示这些内容。

匿名插槽

如果在父组件中使用子组件,则在子组件标签内部写入的内容可以在子组件模板中使用

slot切口插入的内容我是aaa组件

图像

命名凹口

可以通过设置slot属性来命名父组件在子组件的标签中写入的多个内容。 使用具有name属性的" slot "标签将相应的slot放在子组件模板中,如果slot不存在,则会显示在" slot "标签中所写的内容。

在插槽上方用name属性指定插槽名称,如果使用,则用slot='插槽名称'指定。

以上内容

使用以下内容

我是aaa汇编的

图像

通过slot插槽,您可以基于现有模板定制更多不同的组件。

作用域插槽

要在父组件中访问子组件中的数据,必须将定制属性动态绑定到子组件中的元素,将数据传递给定制属性,然后通过slot传递给父组件进行使用。

绑定到元素的属性称为slot props。 对于父组件,现在可以使用slot-scope将包含所有插槽的prop的对象命名为prop。 然后,可以通过prop使用子组件中的数据。

老师姓名: {{prop.teacher.name}}老师年龄: {{prop.teacher.age}}

图像

v-slot

v-slot命令是从Vue 2.6.0引入的,提供了更支持slot和slot-scope特性的API替代方案。 在接下来的2.x版本中,slot和slot-scope功能仍受支持,但已被官方淘汰,不会显示在Vue 3中。

使用v-slot重构上面的代码。

老师姓名: {{prop.teacher.name}}老师年龄: {{prop.teacher.age}}

没有name的出口有一个默认名称。 使用时可以简化为v-slot='prop "。

命名凹口

在子组件中,在name属性中将切口设置为名称

父组件使用名为v-slot:的切口

学生姓名: {{prop.student.name}}学生年龄: {{prop.student.age}}

在父组件中多次调用子组件时,可以通过设置不同的样式来设置子组件中数据的显示格式。

亲子组件通讯案例

还可以使用属性绑定和v-slot来循环呈现子组件中父组件中的数据

首先在父程序集上定义一组数据

数据()。

return{

listData:[

{

名称: ' tome ',

job:'web前端'

(,

{

name: '高大的小虾',

job:'java '

}

]

}

}

在属性绑定中将数据传递到子组件Home并设置v-slot插槽对象名称。 在这种情况下,可以从插槽内部通过prop访问数据

Home组件接收从父组件传递的data

props:{

数据: {

类型:阵列,

要求:真

}

}

将data传递给slot的自定义属性list

您可以将Child组件插入Home组件的slot插槽中,Child组件通过prop.list循环演示数据,然后通过属性绑定将item传递到Child

用Child组件接收从Home发送来的data

props:{

数据: {

类型:对象,

要求:真

}

}

在页面上用key名称渲染数据

{{data.name}}

{{data.job}}

渲染结果:

图像

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。