vue具名插槽的基本使用实例

具有名字的插槽slot使用 中的 "name" 属性绑定元素

注意:

1,如果没有匹配到 则放到匿名的插槽中

2,具名插槽的渲染顺序,完全取决于模板,而不是取决于父组件中元素的顺序

vue的匿名插槽(默认插槽)

父组件

<div> <myslot>我是刚刚</myslot> </div>

子组件

<div> <slot><slot> </div>

vue的具名插槽

父组件

<div> <myslot> <template #one>猪猪是一只大肥猫</template> <template #two>通通是一个大屁眼子</template> <template #three>咪咪是没心没肺的小混蛋</template> 我是刚刚 </myslot> </div>

子组件

<div> <slot></slot> <slot><slot> <slot></slot> <slot></slot> </div>

渲染出来(大致顺序)即为

vue具名插槽的基本使用实例

vue具名插槽的基本使用实例

vue具名插槽的基本使用实例

vue的作用域插槽

大白话解释作用域插槽:父组件可以通过插槽读到子组件对应插槽所带的数据
父组件

<div> <myslot> <template #oneData="oneData"> <div>{{oneData.one.message}}</div> </template> <template #two>通通是一个大屁眼子</template> <template #three>咪咪是没心没肺的小混蛋</template> 我是刚刚 </myslot> </div>

子组件

<div> <slot :data='one'></slot> <slot><slot> <slot></slot> <slot></slot> </div> <script> export default { data() { return { one: { message: '这是子组件所带的数据message', }, }; }, } </script>

代码优化

<div> <myslot> <template #oneData="{oneData}"> <div>{{oneData.message}}</div> </template> <template #two>通通是一个大屁眼子</template> <template #three>咪咪是没心没肺的小混蛋</template> 我是刚刚 </myslot> </div>

子组件

<div> <slot :oneData='one'></slot> <slot><slot> <slot></slot> <slot></slot> </div> <script> export default { data() { return { one: { message: '这是子组件所带的数据message', }, }; }, } </script>

总结

到此这篇关于vue具名插槽基本使用的文章就介绍到这了,更多相关vue具名插槽内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zygzws.html