本篇文章小编给大家分享一下Vue中的匿名插槽与具名插槽代码解析,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
slot又名插槽,是Vue的内容分发机制,组件内部的模板引擎使用slot元素作为承载分发内容的出口。
插槽slot是子组件的一个模板标签元素,而这一个标签元素是否显示,以及怎么显示是由父组件决定的。
slot又分三类,默认插槽,具名插槽和作用域插槽。(这里说前两种)
插槽的实质是:插槽实质是对子组件的扩展,通过
1.匿名插槽
默认插槽:又名匿名插槽,当slot没有指定name属性值的时候一个默认显示插槽,一个组件内只有有一个匿名插槽。
举例:
先创建一个Vue实例,挂载到id为app的div上面
在创建一个局部组件,在组件中定义好插槽,插槽一定要放在子组件中
// 申明局部组件 let child = { template:`` }我是子组件
我是一行话
这是占位的内容
在vm实例中的子组件中心定义好局部组件,并在视图层渲染
// 根组件(父组件,又叫基组件) let vm = new Vue({ el:'#app', // 子组件们(注册中心) components:{ // 键值对,当键和值相同可以省略 child } })
没有内容传递过去的时候,会显示插槽的(默认)内容
我们在视图层里向插槽内传递内容:
这是一个内容
有内容传递过去的时候,不会显示插槽的(默认)内容。
注意:要在视图层向插槽内传递内容时,必须在子组件中有插槽,否则不会显示!
当你在子组件中有多个匿名插槽时,传递的内容会分别放入各个插槽中:
template:``我是子组件
我是一行话
这是占位的内容
这是第一个内容
这第二个内容
2.具名插槽
在子组件中定义插槽时,给对应的插槽分别起个名字,方便后边插入父组件将内容根据name来填充对应的内容。
先在子组件中给插槽起好名字(匿名插槽其实也有个默认的名字,default,可以省略不写):
template:``,我是子组件
我是一行话
这是占位的内容 这是t1占位的内容 这是t2占位的内容 这是t3占位的内容 这是t4占位的内容
使用具名插槽的方法
1.在子组件中要先定义好插槽,并起好名字
2.在父组件中的视图层中,某个标签上,给这个标签添加slot属性
这个属性赋值上具体插槽的名字即可
这是第一个内容
这第二个内容
我要放在具名插槽t1里使用
我要放在具名插槽t2里使用
我要放在具名插槽t3里使用
我要放在具名插槽t4里使用
忍者必须死34399账号登录版 最新版v1.0.138v2.0.72
下载勇者秘境oppo版 安卓版v1.0.5
下载忍者必须死3一加版 最新版v1.0.138v2.0.72
下载绝世仙王官方正版 最新安卓版v1.0.49
下载Goat Simulator 3手机版 安卓版v1.0.8.2
Goat Simulator 3手机版是一个非常有趣的模拟游
Goat Simulator 3国际服 安卓版v1.0.8.2
Goat Simulator 3国际版是一个非常有趣的山羊模
烟花燃放模拟器中文版 2025最新版v1.0
烟花燃放模拟器是款仿真的烟花绽放模拟器类型单机小游戏,全方位
我的世界动漫世界 手机版v友y整合
我的世界动漫世界模组整合包是一款加入了动漫元素的素材整合包,
我的世界贝爷生存整合包 最新版v隔壁老王
我的世界MITE贝爷生存整合包是一款根据原版MC制作的魔改整