Vue子组件向父组件传值(this. e m i t ( ) 方法)父组件调用子组件方法( t h i s . emit()方法) 父组件调用子组件方法 (this. emit()方法)父组件调用子组件方法(this.ref)
子组件使用this.$emit()向父组件传值
首先必须在父组件中引用子组件,然后实现传值
第一步 在父组件中引入子组件
使用import引入组件
import indexImportOrder from './components/indexImportOrder'
声明
//定义组件
components:{
indexImportOrder,
},
使用
<indexImportOrder ref="indexImportOrder"/>
第二步 子组件向父组件传值
- 在子组件中需要向父组件传值处使用this.$emit(“function”,param); //其中function为父组件定义函数,param为需要传递参数
//新订单页面跳转
viewBusiness(){
let flag = false;
this.$emit('closeMain',flag);
},
- 在父组件中子组件引用处添加函数v-on:function=“function1”; //其中function为子组件中定义函数,function1为父组件定义函数–用于接收子组件传值并进行相应数据处理,可定义为同一名称
v-on: 可用 @ 代替 @function=“function1” ,@ 为 v-on:的简写
<indexImportOrder ref="indexImportOrder" v-on:closeMain="closeMain"/>
val及为子组件中flag,即接收的子组件参数
closeMain(val){
this.flag = val;
},
父组件调用子组件方法
// indexImportOrder 为父组件引用子组件时的ref
// 其中save方法为父组件需要调用子组件的方法名
this.$refs.indexImportOrder.save()