5.vue组件间通信——插槽(slot)

一、具名插槽slot

1、理解
    此方式用于父组件向子组件传递标签数据
2、子组件中
<slot name="btn"></slot>
3、父组件中
<Todocount :allcount="allcount" :donecount="donecount">
 <div slot="btn" v-show="allcount!=0"><button @click="clearDone">清空所有完成任务</button>                </div>
</Todocount>

二、作用域插槽slot-scope

1、理解
        此方式用于子组件向父组件传递数据
2、父组件中
   <Child>
	 <div slot="content" slot-scope="msg">{{msg.data}}</div>
   </Child>
3、子组件中
 <slot name="content" :data="msg"></slot>	
   data(){
				return{
					msg:"这是内容"
				}
   }

三、v-slot

1、理解
       v-slot的出现是为了代替原有的slot和slot-scope
2、具名插槽

1)父组件

    <Son>
      <template v-slot:a><!-- 这里注意是v-slot:子组件的插槽名 -->
        <span>替换了</span>
      </template>
    </Son>

2)子组件

 <slot name="a">
    </slot>
3、作用域插槽

1)父组件

    <Son>
      <template v-slot:son="msg"><!--这里看清楚噢-->
        <span>{{msg}}</span>
      </template>
    </Son>

2)子组件

    <div>
  我是子组件
  <slot name="son" :data="msg">我是默认名称:{{name}}</slot>
</div>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值