vue 父子传值

父组件向子组件传递数据 props
父组件和子组件的构图:在这里插入图片描述
上代码:

// 父组件
<template>
  <div>
    <div>     
      <!--3、引用 子组件-->    <!--4、传值,使用动态自定义属性 比如 :abc="list" -->
      <mesList :abc="list"></mesList>   
    </div>
  </div>
</template>

<script>
import mesList from "./meslist"  //1、导入 子组件
export default {
  name: "mesboard",
  components:{mesList},      //2、注册 子组件
  data() {
    return {
		list:[
          {name:"张三",desc:"您好"},
          {name:"李四",desc:"您好"}
        ]
    };
  },
};
</script>

总结:1、自定义一个属性名,值就写你要传给子组件的数据
// 子组件
<template>
	<div>
		<ul>
      <!--2、使用 props中 的 数据。-->
      <li v-for="(item, index) in abc" :key="index">{{ item.name }}</li>
		</ul>
  </div>
</template>

<script>
export default {
    props:["abc"],  //1、获取  父组件传过来的 值
}
</script>

总结:1、用props:[""]  来存父组件传进来的数据  (是填写自定义的键)
     2、再把props  里的数据放在你要用的地方

子组件向父组件传递数据 this.$emit
父组件和子组件的构图:
在这里插入图片描述
上代码:

// 父组件
<template>
  <div>
    <!--====1、@clickReback 是 一个自定义的 事件,将来子组件 要调用 =========-->
    <!--====注意:aaa 表示 本父组件的 具体要执行方法。 ======================-->
    <mesList @clickReback="aaa"></mesList>   
  </div>
</template>

<script>
import mesList from "./meslist"  
export default {
  methods: {
     // 2、子组件 可能 会来调用这个方法。
     // 注意 ,如果子组件 传参过来了,就要接收,像这样:aaa(arg){....}
    aaa(str){
        console.log(str) //今天你真美
    }   
  },
};
</script>

总结:1、自定义一个点击事件,给子组件调用
     2、在components  中写上你自定义的方法
// 子组件
<template>
	<div>
    <!--这里 ,需要去 调用父组件的 方法--->
    <button @click="reminitHandle">回复</button>  
	</div>
</template>

<script>
export default {
  methods:{
    reminitHandle(){
       this.$emit("clickReback","今天你真美");    // 1、子组件 调用 父组件 的 方法
    }
  }
}
</script>

总结:
1、写一个点击事件,发射给父组件
2、并在components 中 写上刚刚创建的点击事件方法  this.$emit("")  
3this.$emit("")  里面第一个值,写父组件自定义的属性 ;第二个值,写你要传给父组件的数据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值