方式有很多,这里介绍一种方式:$emit
子页面代码
<el-button type="primary" @click="emitToParent()" v-if="pageType=='treeApproveReport'" round>返回</el-button>
emitToParent() {
this.$emit('closeDialog', false);
},
this.$emit(‘closeDialog’, false); 第一个参数:监听的事件名称,第二个参数:要传的值
@:v-on 指令,它用于监听 DOM 事件:
父页面代码
<budgetApproveDetail ref="budgetApproveDetail" @closeDialog="closeTreeDialog" v-if="budgetApproveDetailVisible"> </budgetApproveDetail>
// 功能描述:关闭弹窗 |2021/5/26 10:03
closeTreeDialog(data) {
console.log(data);
this.budgetApproveDetailVisible = data;
},
@后跟监听事件的明后才能,必须跟子页面中$emit中的第一个参数名一致
budgetApproveDetail:子组件
本文介绍了Vue.js中父子组件通信的一种常见方式,即通过`$emit`触发事件和`v-on`监听事件。在子组件中,通过`this.$emit('closeDialog', false)`触发'closeDialog'事件并传递参数。父组件通过`@closeDialog=closeTreeDialog`监听该事件,并在`closeTreeDialog`方法中接收数据,更新弹窗状态。这种方法在前端开发中常用于组件间的交互控制。
966

被折叠的 条评论
为什么被折叠?



