[Vue]不能使用索引直接修改数组,但可以使用索引更新对象数组内的属性


由于 JavaScript 的限制,Vue 不能检测以下变动的数组

  1. 当你利用索引直接设置一个项时,例如:vm.items[indexOfItem] = newValue
  2. 当你修改数组的长度时,例如:vm.items.length = newLength

可以使用Vue.set和javascript方法splice(Array.prototype.splice)实现,触发状态更新。

同样,Vue也不能检测对象属性的添加或删除


这有一点需注意,也是差点被教程带进坑里。不是不能使用数组索引,可以使用,使用场景是将对 数组内部的对象属性更新,而不是直接设置修改数组,这就像使用push方法是更新数组而不是设置数组一样。例如对对象数组某项的属性的修改:vm.items[indexOfItem].prop = newValue





	
	v-for-item-index
	
	


		
  • {{parentMessage}} - {{index}} - {{item.message}}



你可能感兴趣的:(前端文章,Vue文章)