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