当我们在父组件定义了一个数组,

  data() {
return {
name: ["lkx", "msx"]
}
}

想把它传到子组件处理后

  props: {
names: {
type: Array,
default: () => []
}
}

通过插槽的方式再传送回父组件

 <template v-for="(item,index) in names" :key="item">
<slot ></slot>
</template>

在父组件对子组件中处理过的数据进行使用时,

比如说我们想要在父组件想使用子组件的item和index的内容将他渲染到html上,如果我们直接使用

 <div>
<show-names :names="name">
<button>{{item}}</button>
   </show-names>
</div>

会出现这样的结果

我们可以这样做,通过作用域插槽的方式来解决

子组件中使用v-bind绑定item和index

 <template v-for="(item,index) in names" :key="item">
<slot :item="item" :index="index"></slot>
</template>

父组件中使用v-slot="slotProps"

这里的v-slot="slotProps"是简写形式,因为我们在子组件的slot中没有定义name属性,所以这个slot会有一个默认的name为default,

比方说我们在子组件中定义一个name="lkx",那么父组件中的写法就变成v-slot:lkx="slotProps",又因为v-slot:的语法糖是#,所以父组件最终写为#lkx="slotProps"

<template>
<div>
<show-names :names="name">
<template v-slot="slotProps">
<button>{{ slotProps.item }}</button>
</template>
</show-names>
</div>
</template>

独占默认插槽

  <show-names :names="name" v-slot="lkx">

        <button>{{ lkx.item }}--{{lkx.index}}</button>

    </show-names>

嗯,我咋感觉和子传父那么像呢,明天动手试试

最新文章

  1. EF自动生成的模型edmx代码分析
  2. 将ASP.NET Core应用程序部署至生产环境中(CentOS7)(转)
  3. 解决ClickOnce签名过期问题(转载)
  4. 关于iOS APP中网络层的设计
  5. Java垃圾回收器
  6. Guid vs Int
  7. hdoj 2097 Sky数
  8. Could not initialize class org.apache.log4j.LogManager 报错
  9. Hu矩SVM训练及检测-----OpenCV
  10. SQL Server根据列名查表
  11. 团队作业4——第一次项目冲刺(Alpha版本)2017.4.22
  12. 【洛谷2744 】【CJOJ1804】[USACO5.3]量取牛奶Milk Measuring
  13. JavaScript中Array数组的方法
  14. react中PureComponent浅对比策略
  15. 如何搭建一个VUE项目
  16. C#实现完整的防盗自制监控系统
  17. 【UVA1660】Cable TV Network
  18. 完成一个Laravel项目的过程
  19. go语言切片切片与指针
  20. zabbix 添加用户 配置权限

热门文章

  1. NSArray 遍历
  2. Feign实现动态URL
  3. Web设计
  4. 《PHP程序员面试笔试宝典》——如何克服面试中紧张的情绪?
  5. 《PHP程序员面试笔试宝典》——如何应对面试官的“激将法”语言?
  6. 搭建 NFS 服务 &amp; 实时同步
  7. 《深度探索C++对象模型》第一章 | 关于对象
  8. [数分笔记]问题1.1 T1
  9. python的标识符&amp;&amp;关键字
  10. 【C# 编码格式】 System.Text 命名空间 Encoding