在Vue中对数组的响应式操作主要由以下几种:

//********数组的响应式操作方法
        //1.push():从最后插入元素
        this.nums.push('push','a','b');

        //2.pop():删除数值中的最后一个元素
        this.nums.pop();

        //3.shift():删除数组中的第一个元素
        this.nums.shift();

        //4.unshift():在数组最前面添加元素
        this.nums.unshift('unshift','a','b');

        //5.splice():指定位置删除、插入、替换元素。传入三个参数(sta,sec,thi)。
        this.nums.splice(1,2);//删除元素时,sta:要删除元素的位置,sec:要删除元素的个数。
        this.nums.splice(1,3,'m','n','l')//替换,第一个元素后面的三个元素替换为'm'、'n'和'l'。
        this.nums.splice(1,0,'W','Z');//插入元素,在第一个位置后面插入'W'、'Z'。

        //6.sort():排序
        this.nums.sort();

        //7.reverse():将数组内容反转
        this.nums.reverse();

而通过数组的下标值进行赋值的操作不是响应式的:

this.nums[0] = 'aaaa';

 这种方法修改数组不会引起页面的动态刷新,解决方法有以下两种方式:

        //解决方式
        //1.splice方法
        this.nums.splice(0,1,'aaa');

        //2.vue的方法
        Vue.set(this.nums,0,'aaa');

能够达到同样的目的。

Logo

前往低代码交流专区

更多推荐