vue插槽02-作用域插槽 $parent,$children,递归组件

本文详细介绍了Vue中的作用域插槽,如何通过插槽传递子组件的数据到父组件的插槽内容中。同时,讲解了$parent和$children属性在父子组件之间的交互,包括获取和修改数据。最后,探讨了递归组件的实现,强调了在递归组件中设置组件名称的重要性。
摘要由CSDN通过智能技术生成


提示:以下是本篇文章正文内容,下面案例可供参考

4.作用域插槽

官网:有时让插槽内容能够访问子组件中才有的数据是很有用的。

整体架构参考上篇vue插槽01
有的时候会想换掉备用内容,如Wrap组件模板内容如下 :

App.vue
	<Wrap> 
	//这里为空时填充备用内容
	// {
   {value}} 这里是获取不到Wrap组件中的value
    </Wrap>
Wrap.vue
	<h1>wrap</h1>
    <slot> 
     这是slot标签内容备用内容{
   {
   value}}
    </slot>
    <p>这是wrap的P标签</p>
    <hr />

为了让 value 在父级的插槽内容中可用,我们可以将 value 作为 元素的一个 attribute绑定上去:

注意:v-slot只能添加在template上,只有在里面接收值的可以这样直接写

App.vue
	<h1>wrap</h1>
	//注意v-slot只能添加在template上,只有在里面接收值的可以这样直接写
	<Wrap v-slot:default="wrapValue">  
      {
   {
   wrapValue}}
      <Box :title="wrapValue.data"/> //Box组件也可以获取到这个值
    </Wrap>
Wrap.vue 	
	    <h1>wrap</h1>
	    <slot :data="value"> //进行绑定
	     这是slot标签内容备用内容{
   {
   value}}
	    </slot>
	    <hr />
    <script>
		export default {
   
		  data() {
   
		    return {
   
		      value: "wrap-value",
		    }
		  },
		};
	</script>
Box.vue	  
	   <h2>Box</h2> {
   {
   title}}
	<script>
	export default {
   
	  props: {
   
	    title: String,
	  }
	};
	</script>

在这里插入图片描述
解构插槽:

	<Wrap v-slot:default="{data}"> 
      {
   {
   data}
  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值