v-for 循环遍历哪些数组的方法是响应式的。

数据响应式:数据发生改变,页面也随即发生改变。
代码原型




    
    
     


    
  • {{letter}}

下面来一一验证

1.push()方法,在数组最后面(末尾)添加元素。




点击按钮,元素已经增加,所以push()方法是响应式的。

2.unshift()方法,在数组最前面添加元素,因为是和push()方法对应的关系,同理也是响应式的。
突然灵机一动,既然可以添加一个元素,那能添加多个元素吗?




添加多个元素是支持的。

3.通过索引值修改数组中的元素。




点击按钮没有任何反应,说明索引值修改没有响应,此方法不可用。



但控制台里面查看数据是更换了的,但页面并没有响应。为什么会这样?这和vue的底层有关。为了实现这种需求,我们的解决方法一是采取splice()的替换方法。


二是vue内部提供的一个Vue.set()函数方法,里面可以传入三个参数。


4.pop()方法,删除数组中排列最后的一个元素。




能删除末尾的元素,所以pop()方法是响应式的。

5.shift()方法,删除数组中的首个元素。
因为是对应pop()方法的,同理也是响应式。

6.splic()方法有三个值,功能比较强大,可以删除元素,插入元素,替换元素。
(1)删除数组中的所有元素




(2)删除数组中的所有元素,第一个元素保留。值是2的话保留数组中第一个和第二个元素。




(3)保留第一个元素,从末尾依此删除2个元素。


(4)插入元素操作,第一个值,从哪个元素位置后面开始,第二个值为0,即不删除元素,第三个值,你想要添加的元素。




(5)替换元素操作

6.sort()方法,正向排列和reverse()方法,反向排列。两者也是响应式的。



总结:除了【索引值修改数据】的数组方法vue是不支持的外,其他的方法都支持。

你可能感兴趣的:(v-for 循环遍历哪些数组的方法是响应式的。)