vm.items.splice( ) 替换/删除/添加数组内某一个或者几个值

为什么不用 vm.items[index] 和 vm.items.length 直接修改数组元素和数组长度?

答:这两种方法不是响应式的。也就是说不会改变 vue 对象里面的数据


vm.items.splice( ) 替换/删除/添加数组内某一个或者几个值_第1张图片


(PS:  Vue.set(array key, value)  set 方法也可以 设置数组元素,详见   Vue.set( target, key, value ) 设置数组元素)


splice(index,len,[newValue])它也可以用来替换/删除/添加数组内某一个或者几个值(该方法会改变原始数组,响应式)

语法:vm.items.splice(index,len,[newValue])

index: 数组开始下标       

len: 替换/删除的长度       

item: 替换的值,删除操作的话 item为空

语法:vm.items.splice(index, len, newValue)

一、用splice直接修改数组的长度

vm.items.splice(1)  :设置数组的长度为 1

{{item}}

vm.items.splice( ) 替换/删除/添加数组内某一个或者几个值_第2张图片

二、用splice修改数组的长度和元素

vm.items.splice(1,2,"ling") :  表示从1 这个下标的元素开始, 删除2个元素,并在这个位置增加新元素"ling" 

{{item}}

使用splice 方法前的数组:

vm.items.splice( ) 替换/删除/添加数组内某一个或者几个值_第3张图片

使用splice 方法后的数组:

vm.items.splice( ) 替换/删除/添加数组内某一个或者几个值_第4张图片


 

你可能感兴趣的:(vue)