通常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
}