vue 孙组件给父组件传值

2023-11-12

1、在孙组件里定义事件,通过$emit把值传出去
孙组件:planPop.vue

<template slot="action" slot-scope="record">
  <span @click="handleDetail(record)" class="detailBtn">查看</span>
</template>
// 点击查看
handleDetail(record) {
  this.$emit('showPlanImg', true);
  this.$emit('getPlanId', record.id);
},
2.在子组件中定义v-on="$listerners" (官方文档:https://cn.vuejs.org/v2/api/#vm-listeners
子组件:siteSearch.vue

<plan-pop ref="plan" :manufactorList="manufactorList" :siteTypeList="siteTypeList" :deviceTypeList="deviceTypeList" @moveToSitePlan="moveToSitePlan" v-on="$listeners"></plan-pop>
3、父组件通过传过来的自定义事件,获取孙组件的值
父组件:index.vue

<site-search ref="siteSearch" :showLeft="showLeft" :regionList="regionList" :siteTypeList="siteTypeList" @siteNumChange="siteNumChange" @moveToSite="moveToSite" @getType="getType" @showPlanImg="showPlanImg" @getPlanId="getPlanId" />
// 显示巡检的图裂和开关
showPlanImg(data) {
  this.isShowPlanImg = data;
},
// 获取巡检计划弹窗点击查看传回来的巡检id
getPlanId(id) {
  this.planId = id;
},
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vue 孙组件给父组件传值 的相关文章