# 作用域插槽:slot-scope

# 1. 前言

  • 废话不多说,看图(如看不清楚,可以在浏览器右键--在新标签页中打开图片)

vuejs-slot-scope

# 2. 举例

vuejs-slot-demo

  • 👇 说明:这是一个简单的作用域插槽
    1. 父组件引用<List>组件的时候,传入items参数
    2. 在子组件<List>内部,遍历items,将每一个item传入<slot>里(注:<slot>绑定数据,此<slot>就成为了一个作用域插槽
    3. 在父组件里,通过slot-scope接收一个参数,可以是propsrowslotProps等等任何你想要的名字
    4. 然后就可以通过props.itemrow.itemslotProps.item等访问到<slot>中传入的item

vuejs-slot-scope-demo1

  • 👇 说明:这是一个具名插槽和一个作用域插槽的组合
    1. 具名插槽
      • 子组件<slot name="columns">
      • 父组件<template slot="columns">
      • 结果就是父组件中的模板替代子组件<slot>里的内容
    2. 作用域插槽

vuejs-slot-scope-demo2

参考链接1:https://medium.com/binarcode/understanding-scoped-slots-in-vue-js-db5315a42391

参考链接2:https://juejin.im/post/5a69ece0f265da3e5a5777ed

上次更新: 10/21/2020, 8:09:17 AM