首页 > 其他 > 详细

vue 3.x 新指令 v-slot

时间:2020-02-07 18:39:19      阅读:538      评论:0      收藏:0      [点我收藏+]

vue 3.x 增加了v-slot的指令来代替原来2.6的slot,slot-scope属性

原因:这里引用了官方的说法,我们计划统一插槽类型,因此不再需要(从概念上)区分作用域插槽和非作用域插槽。一个插槽可能会或可能不会接收道具,但它们全都是插槽。有了这个概念上的统一,具有slotslot-scope在两个特殊属性似乎没有必要,这将是很好的统一语法的单个构建下也是如此(统一插槽属性,便于学习)

之前也写过有关slot属性的使用,现在以新旧比较的方式来使用新指令v-slot

slot属性:https://www.cnblogs.com/chujunqiao/p/11807021.html

1 普通插槽

这里有一个my-template的组件

组件里有一个slot模版

技术分享图片

my-template组件内的内容会替换到默认的slot标签中(没有name属性的slot)

技术分享图片

结果:

技术分享图片

显示写法:

技术分享图片

2 具名插槽

可以通过给v-slot指令增加一个参数名称来指定具体的某一个插槽(具有name属性的slot)

技术分享图片

模版内容会替换具有name属性,而且name=‘vslot’的插槽

技术分享图片

结果:

技术分享图片

具名插槽缩写:#vslot

技术分享图片

3 作用域插槽 

父级组件决定插槽内容的渲染方式

技术分享图片

把默认slot重命名为mySlot 循环在slot上绑定的data数据

技术分享图片

结果:

技术分享图片

作用域插槽的解构使用:

技术分享图片

写法变换:

技术分享图片

这里把data数据直接解构出来使用,不用再通过slot对象来引用

vue 3.x 新指令 v-slot

原文:https://www.cnblogs.com/chujunqiao/p/12272968.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!