子传父

子传父

1.子传父

子组件: 通过自定义事件$emit(触发事件源),来传递数据
父组件: 通过触发自定义事件来接收参数.

2.用法

子组件
<template>
  <div class="box">
    <h1>子组件</h1>
     <input type="text" v-model="name" @change="change1">
    <div>name的值为:{{name}}</div>
    <button @click="send">发送</button>
  </div>

</template>

<script>
export default {
  data(){
    return {
      name:'华晨宇',
      age:28,
    }
  },
  methods:{
    send(){
      /**
       * $emit()
       * 参数一: 触发事件的名称
       * 参数二: 传递的数据,string number boolean array object
      */
      this.$emit('bb',this.name)
    },
    // 不可以
    change1(){
      this.$emit('aa',this.name);
    }
  }
}
</script>

<style>

</style>

父组件
<template>
  <div class="box">
    <h1>父组件</h1>

    <div>name的值为:{{newName}}</div>
    <!-- 接收自定义事件传递的参数,须通过$event来接收 -->
    <v-child2 @bb="change" @aa="change1"></v-child2>
  </div>
</template>

<script>
import vChild2 from './child2.vue'
export default {
  data(){
    return {
      newName:''
    }
  },
  components:{
    vChild2
  },
  methods:{
    change(name){
      // 接收
      // console.log(name);
      this.newName = name
    },
    change1(name){
      console.log(name);
      this.newName = name
    }
  },
  mounted(){
    // $emit():做自定义事件的传递
    console.log(this);
  }
}
</script>

<style>

</style>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值