obj下的屬性如果異動
設定在data下的各個屬性,如果發生異動 應該就會觸發watch
但若屬性為object,而object下的prop被異動要能夠觸發watch
有兩種處理方式
1.宣告data時同時把下層的屬性都宣告
例
data(){
return {
obj:{x:1,y:1}
}
}
methods:{
update(){
this.obj.x = 2
}
}
2.宣告data時不宣告下層改變下層屬性 透過$set執行
例
data(){
return {
obj:{}
}
}
methods:{
update(){
this.$set(this.obj,x,2)
}
}
3.若要改變的屬性是 array即使是改變arry下一個物件的一個屬性,也是要把整個物件換掉
data(){
return{
arr:[
{x:1,y:2},
{x:100,y:23}
]
}
},
methods:{
update(){
let newObj = {x:1,y5}
this.$set(this.arr,0,newObj)
}
}