vue插槽子组件(添加数据)、父组件(获取数据)使用方式

目录

一、使用方式

二、总结


tiips:如嫌繁琐,直接移步总结即可!

一、使用方式

注:数据:item:{ "label": "检查设备", "value": "急救设备、生命支持类设备、急救设备、呼吸机、诊断设备", "slot": "test" }

子组件

          <slot :name="item.slot" :data1="{}" :data2="item">
             {{ item.value || '- -' }}
          </slot>

父组件:  

方式一

        <template #test="data">
           {{data}}
        </template>

方式二:(同方式一:赋值解构出插槽上的属性)

        <template #test="{data1,data2}">
           {{data1}}==={{data2}}
        </template>

方式三

        <template :slot="'test'" slot-scope="data">
           {{data}}
        </template>

方式四:(同方式三:赋值解构出插槽上的属性)

        <template :slot="'test'" slot-scope="{data2,data1}">
           {{data1}}==={{data2}}
        </template>

二、总结

1.子组件 <slot :name="slotname" :data1="{}"  :data2="item"><slot>

    name:插槽名称;  data1,data2: 子组件携带的数据属性

2.父组件

   a. <template #slotname="{data1,data2}"></template>

   b.<template :slot="slotname" slot-scope="{data1,data2}" ></template>  

    注:slot-scope 无论用方式三,还是方式四    =后面都是接字符串呀!!!,所以不能写 " :slot-scope",    :slot-scope=" 'data ' "   :slot-scope="{data1,data2}"等都是错误的写法

3.为什么用插槽,什么时候使用插槽? 

    子组件在某个地方有通用的页面渲染逻辑,但是另外一个业务中有特殊的ui需求,父组件希望 自定义子组件的相应位置的渲染逻辑

4.诶,每次都以为我记住了,一到使用的时候还是 会想不起来或者自以为写对了结果一直报错。记录一下,不会就拿出来看一看!!!

/*

希望对你有帮助!

如有错误,欢迎指正,非常感谢!

*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值