通常vue中的data初始赋值方式为

var vm = new Vue({
    el:"#app",
    data:{
        a:1,
        b:[{
            c:6,
            d:7
        }]    
    }

})

 当需要更新b的值时,需要先拷贝一个复本出来

很简单,

mounted:function(){
var self = this;
var b_temp = self.b
//进行对b_temp增删改
最后
self.b = b_temp
}

而在组件化方式中需要使用return

export default {
		data() {
            return{
                a:1,
                 b:[{
                    c:6,
                    d:7
                   }]
            }
        }
​}

当需要更新b的值时,需要先拷贝一个复本出来,进行增删改,上面提到的拷贝方法,就不行了,有两种方法拷贝

mounted:function(){

var self = this;

//第一种

var b_temp = new Array;

Object.assign(b_temp , self.b)

...增删改都 对b_temp进行操作

最后将b_temp再赋值给self.b

self.b = b_temp

//第二种

var b_temp = [...self.b];

...增删改都 对b_temp进行操作

最后将b_temp再赋值给self.b

self.b = b_temp

}
扫中间二维码关注,回复【定时备份】获取下载地址
Logo

前往低代码交流专区

更多推荐