<div id="navCategory"></div>
讯享网
插槽就像放在组件中的占位标签,使用组件时我们将要放到占位标签处的DOM结构写入组件标签体中即可。
通俗点来讲,插槽就是在自定义组件中预留一个位置,这个位置的内容可以由使用组件的人来定义,可以通过属性等数据实现动态的内容展示及交互,具有高度的灵活性,。
义组件时,在需要由用户自定义的区域使用<slot></slot>占位,使用组件时,在组件的标签之间通过<template></template>定义要往插槽中填充的内容。示例代码:
如果在定义组件时没有使用<slot></slot>占位,即使在使用组件时在组件标签之间定义了内容,也会被忽略。

此处所说的后备内容是官方文档里面的叫法,实际上就是指插槽的默认值。在定义组件时,可以在<slot><slot>之间给出插槽的默认内容,也就是说当使用插槽时如果没有在组件标签内定义插槽的内容,则默认内容生效,否则默认内容不生效。例如:
此时页面呈现的内容为:

此时页面呈现的内容为:


每个插槽都有一个名字,当一个组件中只有一个插槽时,我们可以不用指定插槽的名称,此时插槽的名称为:default。如果一个组件中有多个插槽,我们必须为每个插槽制定名称,否则无法向插槽填充对应的内容。
在组件定义时为solt制定name属性,使用组件时,通过v-slot:插槽名称,指定插入到哪个插槽。v-slot必须使用在template标签上,v-slot:插槽名称可以简写为#插槽名称,推荐使用简写。示例:

定义组件时为slot增加了name和data属性,name为slot的名称,data为自定义属性。
使用组件时template标签中指令:#slotBox1="data",其中#slotBox1是:v-slot:slotBox1的缩写,data中包含了data属性值,使用时可以通过data.data或{ data }解构数据获取传过来的消息内容,对其进行渲染或修改等操作。

以上就是一文详解Vue中插槽的具体使用的详细内容,更多关于Vue插槽的资料请关注脚本之家其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/139239.html