【发布时间】:2020-08-30 12:24:42
【问题描述】:
我看到了一些关于 vue.js 观察者的问题,但是我没有找到处理我的问题的问题,所以这里是:
在我的 SomeComponent.vue 中,我使用以下代码:
...
props: ['value']
,
watch: {
value(val) {
console.log(val);
}
},
在我的父 vue 页面中,使用这个组件我使用这个,它正在工作:
<template>
<div>
<SomeComponent
v-model="test"
></SomeComponent>
</div>
</template>
data() {
return {
test: {}
};
},
created() {
this.test = this.DoSomething();
},
如果我添加另一个属性,则不再触发观察者:
<template>
<div>
<SomeComponent
v-model="test"
></SomeComponent>
</div>
</template>
data() {
return {
test: {}
};
},
created() {
this.test.Prop1 = this.DoSomething();
this.test.Prop2 = "Test";
},
编辑: 在 Behappy 的回答之后,我的组件部分现在看起来像这样:
...
props: ["value"],
watch: {
value: {
handler(val) {
console.log(val);
},
deep: true
}
},
【问题讨论】:
标签: javascript vue.js vue-component