Vue子组件向父组件传值(this.$emit()方法)

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

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

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

 

import UnitByPurchaseAddOrUpdate from '@views/modules/matter/UnitByPurchaseAddOrUpdate'

 

声明

1
2
3
4
//定义组件
 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;
      },

 

posted @   不爱学习的摆烂王  阅读(188)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示