【发布时间】:2019-04-10 20:15:24
【问题描述】:
我有一个计算字段,它根据问卷中是否填写了文本字段来设置名为“已完成”的数据属性:
setCompleted: function () {
this.completed = this.required && this.textAnswer !== '';
},
我的 html 中没有引用这个计算值,仅用于设置完成的属性。唯一可以更改用户输入的属性是 textAnswer,绑定为文本输入上的模型。
我有一个空的观察者设置来观察这个计算字段,如下所示:
setCompleted: function () {
},
使用 watch set,这可以工作并且 setCompleted 更新,但是没有 watch,setCompleted 在调试时不会被命中,并且 Completed 根本不会更新。
我的问题是 - 当其中使用的字段更新时,观察计算如何使其更新? 使用 watch 设置,Vue 会观察计算中的每个属性进行更改,然后在更改时运行计算?
注意 - 我知道我可以将其重构为观看 textAnswer 并从该手表调用一个方法以更新完成,但我想知道此代码实际上是如何工作的,以及它是否是不好的做法或实际上是允许的使用 Vue。
【问题讨论】:
标签: vue.js vuejs2 vue-component watch