vue中父页面与子页面传值,子页面调用父页面方法

以下内容中,父页面为 lineInspection.vue,子页面为addEquip.vue
在这里插入图片描述
在父页面中,写子页面弹框:
(1)通过@getData接收子页面传过来的值
(2)通过 :navigateId="navigateId"直接向子页面传值

<template>
	<div>
		<el-dialog title="添加设备" :visible.sync="showAddEquip" v-if="showAddEquip" width="80%" top='110px'  lock-scroll @close ='closeDialogs()'>
        	<addEquip :cxId = treeId :navigateId="navigateId" @getData="equipId"  @closeDialogs='closeDialogs()' @GetEquipmentInLine="GetEquipmentInLine()"></addEquip>
    	</el-dialog>
	</div>
</template>

<script>
import addEquip from '@/components/addEquip.vue'
export default {
	components: {
    	addEquip
  	},
  	data(){
  		return {
  		}
  	},
  	methods: {
  		closeDialogs() { //页面关闭方法
           this.showAddEquip = false;
        },
        //GetEquipmentInLine为接口方法,此处没有具体写方法内容
  	},
}
</script>

子页面使用prop接收父页面参数 、以及子页面向父页面传值:

(1)通过 this.$emit(“getData”,this.equipId); 子页面向父页面传值;

(2)通过 this.$emit(‘GetEquipmentInLine’, false); 子页面调用父页面方法

<script>
export default {
	 props: {
    	cxId: {
     	 	default: "",
      		type: String,
    	},
    	navigateId: {
      		default: "",
      		type: String,
    	},
    // GetEquipmentInLine:{
    //   type: Function,
    //   default: () => {}
    // } 方法接收可不写,此处就没有写closeDialogs方法的接收
  },
  	data(){
  		return {
  		
  		}
  	},
  	methods: {
  		serach(){
        	console.log("查询")
        	this.$emit("getData",this.equipId);//子页面向父页面传值
        	this.$emit('GetEquipmentInLine', false);//调用父页面方法
    	},
  	},
}
</script>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值