Javascript 除非强制更新,否则不会更新计算的Vue
我必须添加额外的行,强制Vue重新计算computed prop,具体如下:Javascript 除非强制更新,否则不会更新计算的Vue,javascript,vue.js,Javascript,Vue.js,我必须添加额外的行,强制Vue重新计算computed prop,具体如下: var foo = this.groups; this.groups = {}; this.groups = foo; 从这把小提琴中可以看出:。如果没有这些,则不会更新可用的组 为什么会这样?用组更新组的干净方法是什么 已尝试将组添加到“深度监视”,但没有帮助。使用$set为数据对象添加新属性: methods: { add_group: function(key, name) { thi
var foo = this.groups;
this.groups = {};
this.groups = foo;
从这把小提琴中可以看出:。如果没有这些,则不会更新可用的组
为什么会这样?用组更新组的干净方法是什么
已尝试将组
添加到“深度监视”,但没有帮助。使用$set
为数据对象添加新属性:
methods: {
add_group: function(key, name) {
this.$set(this.groups, key, {key, name});
},
}
描述的vue反应性使用$set
为数据对象添加新属性:
methods: {
add_group: function(key, name) {
this.$set(this.groups, key, {key, name});
},
}
描述的vue反应性vue不跟踪添加到对象的新元素:
一种解决方案是使用Vue.set
或重新分配对象,如下例所示:
new Vue({
el: "#app",
data: {
groups: {1: {key: 1, label: 'Those guys'}},
},
computed: {
available_groups: function() {
return [{value: 0, label: 'Anyone'}].concat(Object.values(this.groups));
},
},
methods: {
add_group: function(key, name) {
Vue.set(this.groups, key, {key: key, name: name})
},
}
})
Vue不跟踪添加到对象的新元素:
一种解决方案是使用Vue.set
或重新分配对象,如下例所示:
new Vue({
el: "#app",
data: {
groups: {1: {key: 1, label: 'Those guys'}},
},
computed: {
available_groups: function() {
return [{value: 0, label: 'Anyone'}].concat(Object.values(this.groups));
},
},
methods: {
add_group: function(key, name) {
Vue.set(this.groups, key, {key: key, name: name})
},
}
})