1.插槽是啥啊??

我先简单的说一个场景吧,来理解一下插槽和它的使用场景,比如哈!有一个模块,除了一个小地方
显示的东西不同,其他的内容都是一样的!如下图,你此时此刻想怎么写这个需求呢?
1.有几个状态写几个组件???
2.直接写在页面中??(如果模块复杂,相当不好维护)
3.?
复制代码

 

 

思考完了哈?好,不知道你的想法是啥!!不重要,我们来用插槽! 只写一个子组件和多个父组件,练习写一个父组件就好!多用几次子组件就好!

 

(这里我直接用新的写法,什么废弃的东西都不说了,没意义!)

子组件代码:

 

父组件代码:

 

 

这一个例子就把匿名插槽和具名插槽说了!

1.匿名插槽:

 在子组件中写一个<slot></slot>占位就可以了!父组件中没固定名字的都会显示在这里
 #xxx 来给它固定名字
复制代码

2.具名插槽

简而言之!就和匿名插槽相反么,子组件用<slot name="xxx"><slot>占位,父组件中#后面的和
自组件相同的内容会显示在占位的内容中!
复制代码

ok!!具名/匿名插槽没啥理解的哈!挺简单的!我们下来说说作用域插槽吧!!

作用域插槽

什么是作用域插槽呢?这么说吧!如果父组件中想要用子组件的数据呢?怎么办呢?

1.用$emit的方法传值给父组件吗? 可以!但是没必要,太复杂了 2.作用域插槽!

父组件

 

 

子组件

 

 

 

这截图把匿名作用域插槽和具名作用域插槽都写了!!

当写具名作用域插槽时,父组件中#xxx 省略,不能与v-slot共存!

 

Logo

前往低代码交流专区

更多推荐