更新数组时,如果直接通过下标修改数组属性的话,vue页面不会更新。通过以下几个方法更新数组push()、pop()、shift()、unshift()、splice()、sort()时,vue才能检测到数组更新。如果想直接通过下标修改数组的话,可使用vm-set 方法来通知vue更新了这个数组。

语法为:vm.$set( target, key, value );

数组修改:

Vue.set(array, indexOfItem, newValue);
this.array.$set(indexOfItem, newValue);

对象修改:

Vue.set(obj, keyOfItem, newValue);
this.obj.$set(keyOfItem, newValue);

那么如果只想要改变数组中某一个数据的值,除了使用Vue提供的set方法,也可以使用splice()方法,删除并替换原数组中的值,如下所示:

this.array.splice(indexOfItem, 1, newElement)

 

Logo

前往低代码交流专区

更多推荐