子组件使用this.$emit()向父组件传值
首先必须在父组件中引用子组件,然后实现传值
第一步在父组件中引入子组件
import UnitByPurchaseAddOrUpdate from '@views/modules/matter/UnitByPurchaseAddOrUpdate'
声明
//定义组件 components: { UnitByPurchaseAddOrUpdate },
使用
<unit-by-purchase-add-or-update ref="UnitByPurchaseAddOrUpdate" v-on:closeMain="closeMain"> </unit-by-purchase-add-or-update>
第二步子组件向父组件传值
1. 在子组件中需要向父组件传值处使用this.$emit("function",param); //其中function为父组件定义函数,param为需要传递参数
add(){ let flag = false; this.$emit('closeMain',flag); },
2. 在父组件中子组件引用处添加函数v-on:function="function()"; //其中function为子组件中定义函数,function1为父组件定义函数--用于接收子组件传值并进行相应数据处理,可定义为同一名称
v-on: 可用 @ 代替 @function="function1" ,@ 为 v-on:的简写
<unit-by-purchase-add-or-update ref="UnitByPurchaseAddOrUpdate" v-on:closeMain="closeMain">
val及为子组件中flag,即接收的子组件参数
closeMain(val){ this.flag = val; },
标签:function,Vue,向父,flag,组件,emit,传值 From: https://www.cnblogs.com/Galaxy1/p/17265637.html