作用:
旧slot的写法:
需求:别人应用你的组件,比如导航栏,想自定义dom结构,因为不同的页面有些dom结构会有细微的差别;
插槽技术就可以满足你的需求:
当你把
111112222233333
Vue.component("child",{template:`child `})
结果:

当你在子组件 child template插入插槽
当你只插了一个插槽slot,子组件
当你插入两个插槽,子组件里的标签也会被插入两次:
child
结果:

那怎么实现标签插入指定位置呢:
插槽分为:单个插槽、具名插槽;
单个插槽:就像上面那样子的;
具名插槽:就是具有名字的插槽,
child
111112222233333
结果如下图:

所以根据插槽的原理,我们看下面一个小例子:
需求:导航栏,一个调用了我们的子组件child,组件dom结构是这样的,左边显示一个按钮,中间显示文字,右边显示图标。想一想如果我们把dom给规定死的话,别人要小改的话怎么办,这就大大降低了组件的复用性,我们定义组件就是为了提高代码的复用性。
所以我们可以用插槽,把位置空出来让调用组件的人自己定义dom:
图标
文字
新版的插槽只在插入标签的位置上改了新写法;
旧的是直接插入标签,新版的是把slot改成了指令的写法v-slot=“”:
1111
v-slot指令名还可以省略:
1111
含义都是在 名为“a”的插槽处插入;
注意:
插槽的意义:扩展组件能力,提高组件的复用性;
上一篇:女的对男的说有失落感,是什么意思
下一篇:若依框架的使用