当前位置: 代码迷 >> 综合 >> VUE子组件使用this.$emit()向父组件传值
  详细解决方案

VUE子组件使用this.$emit()向父组件传值

热度:59   发布时间:2023-12-26 16:02:05.0

子组件使用this.$emit()向父组件传值

首先必须在父组件中引用子组件,然后实现传值

  • 第一步 在父组件中引入子组件

使用import引入组件

import indexImportOrder from './components/indexImportOrder'
     

声明


     
  1. //定义组件
  2. components:{
  3. indexImportOrder,
  4. },

使用

<indexImportOrder ref="indexImportOrder"/>
     
  • 第二步 子组件向父组件传值

1.  在子组件中需要向父组件传值处使用this.$emit("function",param);   //其中function为父组件定义函数,param为需要传递参数

 


     
  1. //新订单页面跳转
  2. viewBusiness(){
  3. let flag = false;
  4. this.$emit( 'closeMain',flag);
  5. },

2.  在父组件中子组件引用处添加函数v-on:function="function1"; //其中function为子组件中定义函数,function1为父组件定义函数--用于接收子组件传值并进行相应数据处理,可定义为同一名称

v-on: 可用 @ 代替 @function="function1" ,@ 为 v-on:的简写

<indexImportOrder ref="indexImportOrder" v-on:closeMain="closeMain"/>
     

val及为子组件中flag,即接收的子组件参数


     
  1. closeMain( val){
  2. this.flag = val;
  3. },

 

 

 

  相关解决方案