【发布时间】:2020-08-05 12:06:53
【问题描述】:
是的,这是另一个 'Vue 计算属性未更新问题...
以下是我的问题组件的摘录。我有一个计算属性“fieldModel”,它使用 Vue.set 设置一个新值,然后我在为它分配一个新值后立即控制台记录该计算属性,javascript 对象更新并且可以在 devtools 中查看,但是计算属性没有更新, DOM 也没有。
export default {
props:{
value:{
type:Object,
required:true,
}
},
data() {
return {
model:this.value,
key:'something',
}
},
created() {
var self = this;
setTimeout(function() {
self.fieldModel = 'Apples';
}, 1000);
},
computed:{
fieldModel:{
get() {
return this.model[this.key];
},
set(value) {
var self = this;
self.$set(self.model, self.key, value);
console.log(self.model[self.key], self.fieldModel);
//Logs out 'Apples', undefined,
}
}
}
}
【问题讨论】:
-
@StevenB。提供的信息不足或上述代码无法为您复制问题?
-
上面的代码没有复制这个问题,正如在链接的小提琴中可以看到的那样。
标签: javascript vue.js