vue2.0关于set添加属性后视图不能更新的问题
今天发现原来写的页面的bug总的来说就有一个组件,有加减号和次数显示,第一次点击加号会用set给food对象添加属性count,然后再次点击加号就会count++,这没毛病。if (!this.food.count) {Vue.set(this.food, 'count', 1);} else {this.food.count+
·
今天发现原来写的页面的bug
总的来说就有一个组件,有加减号和次数显示,第一次点击加号会用set给food对象添加属性count,然后再次点击加号就会count++,这没毛病。
if (!this.food.count) {
Vue.set(this.food, 'count', 1);
} else {
this.food.count++;
}
但是还有一其他组件的一个按钮,也是具有加号的功能,但是用这个按钮成功添加属性后,再点击第一个组件的加号按钮,但是视图没有改变,console.log(this.food.count)发现数据的确变了.
找了大半天不知道哪里有问题。
最后的解决方案:把代码改成
if (!this.food.count) {
Vue.set(this.food, 'count', 1);
} else {
this.food.count++;
let foodCount = this.food.count;
Vue.delete(this.food, 'count');
Vue.set(this.food, 'count', foodCount);
}
因为试了大半天发现当我使用delete的时候,视图更新了……
但我感觉这样的解决方法是不对滴,不过现在就这吧,等以后对Vue的理解更深了以后再修改。
更多推荐
已为社区贡献5条内容
所有评论(0)