单项数据流,子改父的时候报错了,但是不影响代码运行,现在vue2停止维护了。
先拿一个最简单的例子,父组件控制子组件的弹窗开关。
父组件:
<addPage ref="addPageRef" :add-id="addId" :add-show-dialog.sync="addShowDialog" @getDepartment="getDepartmentList" />
子组件:
methods: {
// 关闭弹窗
btnClose() {
// 表单重置
this.$refs.formRef.resetFields()
// 关闭弹窗 通知父亲
this.$emit('update:addShowDialog', false)
},
解决方法如下:
#1 在父组件data声明重新声明更改子组件的变量
addShowDialog: this.addShowDialogDate, // add-page
#2 在父组件用watch监听变量实现关联联动
watch: {
addShowDialogDate: {
handler(newVal, oldVal) {
this.addShowDialog = newVal
}
}
},