vue 子组件如何将值回传给父组件

子组件如何将值回传给父组件

自定义事件

父组件是使用 props 传递数据给子组件,但如果子组件要把数据传递回去,就需要使用自定义事件!

我们可以使用 v-on 绑定自定义事件, 每个 Vue 实例都实现了事件接口(Events interface),即:

  • 使用 $on(eventName) 监听事件
  • 使用 $emit(eventName) 触发事件

另外,父组件可以在使用子组件的地方直接用 v-on 来监听子组件触发的事件。

 

子组件: 

<template>
  <div class="hello">
    <h1 @click="jubu">我是text1组件--局部组件 -- {{msg}}</h1>
  </div>
</template>
<script>
export default {
  name: 'text1',
  props: {
    msg:{type: Number}
  },
  computed:{
    msg1:function(){
      return this.msg +1;
    }
  },
  methods:{
    jubu:function(){
      console.log("子组件触发的方法");
      this.$emit('jianting',this.msg1);
    }
  }
}
</script>

父组件: 

在引用子组件上定义一个监听事件, 用来监听子组件触发事件, 

<text1 v-on:jianting="jianting" v-bind:msg=1></text1>

 methods 定义这个方法: 

 jianting(value){
      console.log(value);
      console.log("父组件用来监听子组件的方法");
    }

 

 

需求假设要从子组件返回数据给父组件, 

那么就可以使用这个函数: this.$emit('父组件的方法名',要返回的数据);

而父组件的监听事件就可以捕获这个事件, 获取返回给父组件的数据。 

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值