VUE slot插槽的使用和使用场景
1.插槽是啥啊??我先简单的说一个场景吧,来理解一下插槽和它的使用场景,比如哈!有一个模块,除了一个小地方显示的东西不同,其他的内容都是一样的!如下图,你此时此刻想怎么写这个需求呢?1.有几个状态写几个组件???2.直接写在页面中??(如果模块复杂,相当不好维护)3.?复制代码思考完了哈?好,不知道你的想法是啥!!不重要,我们来用插槽! 只写一个子组件和多个父组件,练习写一个父组件就好!多用几次子
·
1.插槽是啥啊??
我先简单的说一个场景吧,来理解一下插槽和它的使用场景,比如哈!有一个模块,除了一个小地方
显示的东西不同,其他的内容都是一样的!如下图,你此时此刻想怎么写这个需求呢?
1.有几个状态写几个组件???
2.直接写在页面中??(如果模块复杂,相当不好维护)
3.?
复制代码
思考完了哈?好,不知道你的想法是啥!!不重要,我们来用插槽! 只写一个子组件和多个父组件,练习写一个父组件就好!多用几次子组件就好!
(这里我直接用新的写法,什么废弃的东西都不说了,没意义!)
子组件代码:
父组件代码:
这一个例子就把匿名插槽和具名插槽说了!
1.匿名插槽:
在子组件中写一个<slot></slot>占位就可以了!父组件中没固定名字的都会显示在这里
#xxx 来给它固定名字
复制代码
2.具名插槽
简而言之!就和匿名插槽相反么,子组件用<slot name="xxx"><slot>占位,父组件中#后面的和
自组件相同的内容会显示在占位的内容中!
复制代码
ok!!具名/匿名插槽没啥理解的哈!挺简单的!我们下来说说作用域插槽吧!!
作用域插槽
什么是作用域插槽呢?这么说吧!如果父组件中想要用子组件的数据呢?怎么办呢?
1.用$emit的方法传值给父组件吗? 可以!但是没必要,太复杂了 2.作用域插槽!
父组件
子组件
这截图把匿名作用域插槽和具名作用域插槽都写了!!
当写具名作用域插槽时,父组件中#xxx 省略,不能与v-slot共存!
更多推荐
已为社区贡献52条内容
所有评论(0)