VUE v-slot 项目中具体使用

模块功能介绍:想封装一个通用的组件,但是组件的其中一部分需要能够自定义,数据和结构都不同,在这里插入图片描述
这样需要在组件里面嵌套组件,所以想到了用slot插槽来解决;
实现思路:
1、封装最外层组件,在里面循环数据,需要把单项数据传递给插槽位置的子组件,在这里插入图片描述
定义插槽的name值,并定义需要传递给子组件的数据(可理解为props),子组件接受的是props对象,对象的attribute为nodeListData;
2、调用父组件时插槽部分必须把定义的name值绑定到template上,在这里插入图片描述
template上使用v-slot指令去绑定插槽上定义的name值,然后子组件可以拿到插槽的props里面的属性值,然后在组件里面实现自己的逻辑;
子组件接受的数据见下图在这里插入图片描述
我在上面的截图里面只定义了nodeListData,也可以定义多个属性例如id;

总结:

  • 插槽位置name和属性值的定义
  • 父组件在插槽位置必须用template绑定
  • 父组件v-slot绑定的值必须与组件里面的slot的name值对应

猜你喜欢

转载自blog.csdn.net/m0_47402657/article/details/106374489