我使用vue版本2.5.x
下面就是这样的例子。
无论我点击“添加项目”按钮有多难,页面中没有显示任何项目。
但是“添加项目版本2”是有效的!
添加:key不会有帮助。有什么问题吗?
let app = new Vue({
el: "#app",
data: {
items: {},
count: 0,
},
methods: {
add() {
this.items[this.count.toString()] = this.count;
this.count++;
console.log(this.items);
},
add2() {
let items = {}
items[this.count.toString()] = this.count;
this.items = items;
this.count++;
console.log(this.items);
}
}
})<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.13/vue.min.js"></script>
<div id="app">
<button @click="add">add item</button>
<button @click="add2">add item version 2</button>
<p v-for="(item, key) in items" :keys="item">{{item}}</p>
</div>
发布于 2018-03-07 03:38:24
替换:this.itemsthis.count.toString() = this.count;
Vue.set(this.items,this.count.toString(),this.count);
let app = new Vue({
el: "#app",
data: {
items: {},
count: 0,
},
methods: {
add() {
Vue.set(this.items,this.count.toString(),this.count);
this.count++;
console.log(this.items);
},
add2() {
let items = {}
items[this.count.toString()] = this.count;
this.items = items;
this.count++;
console.log(this.items);
}
}
})https://jsfiddle.net/zbb57ozv/
这是对javascript或Vue js警告的限制。查看变更检测警告( of vue document )一节,以获得更多信息:Vue-Js深度反应活性
https://stackoverflow.com/questions/49143631
复制相似问题