背景:
将弹窗写在另一个的组件,打开弹窗,关闭时会报错。
报错原因:
因为打开弹框的状态值isShowCompleteApprova 是父组件传递给子组件的,而vue规定子组件不能直接修改父组件的值,所以报错如上。
附报错源代码:
- 父组件:
// 父组件
<template>
<div @click="handleCompleteApprova" >finish</div>
<complete-approva-dialog :isShowCompleteApprova="isShowCompleteApprova"></complete-approva-dialog>
</template>
<script>
export defult{
data() {
return {
isShowCompleteApprova: false
}
}
methods: {
handleCompleteApprova() {
this.isShowCompleteApprova = true
event.stopPropagation()
}
}
}
</script>
- 子组件
// 子组件
<template>
<div>
<el-dialog title="标题" :visible.sync="isShowCom