Как вы можете видеть в документации Vuejs Предостережения Vuejs
Vue не может обнаружить следующие изменения в массиве:
- Когда вы непосредственно устанавливаете элемент с индексом, например, vm.items [indexOfItem] = newValue
- Когда вы изменяете длину массива, например vm.items.length = newLength
Для преодоления предостережения 1 оба следующих действия будут выполнять то же, что и vm.items [indexOfItem] = newValue, но также будут запускать обновления состояния в системе реактивности:
Vue.set(vm.items, indexOfItem, newValue)
Пример будет выглядеть так:
new Vue({
el: '#page',
data: {
arr: [1, 2 ,3],
count: [0, 0 ,0]
},
methods: {
addEll: function() {
this.arr.push(this.arr.length + 1);
this.count.push(0);
},
incrementio: function(index) {
this.$set(this.count, index, this.count[index] + 1)
},
},
computed: {
visibleList: function(){
return this.arr;
}
}
})