vue $set 整个数组

用$set改变整个数组 应该怎么写

data: {
    arr: [1,2,3,4]
},
methods: {
    fun: function(){
        //改变一个元素
        this.$set(this.arr, 2, 'a3')
        //改变整个数组 应该怎么写
        //this.arr = [9,8,7]
    }
}
阅读 41.7k
4 个回答

直接赋值
this.arr = ['h', 'e', '...'];

methods: {
    fun() {
        this.$set(this, arr, ['a', 'b', 'c'])
    },
    fun2() {
        this.arr = ['a', 'b', 'c']
    },
    fun3() {
        this.arr.splice(0, this.arr.length, 'a', 'b', 'c')
    }

}

$set一般用于对象新增键值对,数组直接通过赋值即可,数据数据操作的话js相关操作都会有监听。

我试过这样写:

let newArr=[35,'text',333]
this.$set(this,arr,[...newArr])
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题