vue ts 子组件使用Emit给父组件传值

vue2.0 ts 子组件使用Emit给父组件传值

在子组件:中使用 this.$emit(‘getChildInput’,value)函数给父组件传值,

父组件:使用 @getChildInput="getChildInput"来接收传过来的值,其中"getChildInput"为接收的方法,需要自己定义,其中参数为子组件传过来的值,具体用法见代码实现。

子组件

<template>
  <div>
    <div class="child">
      <div>
        <h1>子组件</h1>
      </div>
      <div class="search">
        <a-input-search
          placeholder="传值给父组件"
          enter-button="Emit传值给父组件"
          size="large"
          @search="onSearch"
        />
      </div>
    </div>
  </div>
</template>

<script lang="ts">
import { Component, Vue, Prop,Emit } from "vue-property-decorator";

@Component({
  components: {},
})
export default class Child extends Vue {
    onSearch(value:any) {
      console.log(value);
      this.$emit('getChildInput',value);//通过emit给父组件传值
    }
}
</script>

父组件

<template>
  <div>
    <div class="parent">
      <h1>父组件名字:{{parentName}}</h1>
       <h1>子组件用emit传过来的值:{{childEmitValue}}</h1>
    </div>
     <!-- 通过@getChildInput="getChildInput"获取值,其中@getChildInput为子组件传过来的变量名,
      "getChildInput"为接收值的方法,该方法的参数就是传过来的值
 -->
    <Child
     @getChildInput="getChildInput"
     />

  </div>
</template>

<script lang="ts">
import { Component, Vue } from 'vue-property-decorator';
import Child from '@/components/Child.vue';

@Component({
  components: {
    Child
  },
})
export default class Home extends Vue {
  parentName:string='父组件'
  childEmitValue:any='';
  getChildInput(value:any){
  //获取子组件用emit传过来的值
    this.childEmitValue=value;//赋值在父组件展示
  }
}
</script>

实现效果图
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值