您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“vue中watch如何監聽對象及對應值的變化”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“vue中watch如何監聽對象及對應值的變化”這篇文章吧。
如下所示:
var vm=new Vue({ data:{ a:1, b:{ c:1 } }, watch:{ a(val, oldVal){//普通的watch監聽 console.log("a: "+val, oldVal); }, b:{//深度監聽,可監聽到對象、數組的變化 handler(val, oldVal){ console.log("b.c: "+val.c, oldVal.c);//但是這兩個值打印出來卻都是一樣的 }, deep:true } } }) vm.a=2 vm.b.c=2
a是一個普通的值,當a的值變化時會被監聽到,b是一個對象,不能直接像a那么寫,需要深度監聽才能捕捉到,但是當我想去捕捉b對象中某一個值的變化時卻發現,打印出來的兩個值是不一樣的,如圖:
這樣就只能知道對象發生變化卻不知道具體哪個值發生了變化,如果想監聽對象某一個值得變化可以利用計算屬性computed
var vm=new Vue({ data:{ b:{ c:1 } }, watch:{ newValue(val, oldVal){ console.log("b.c: "+val, oldVal); } }, computed: { newValue() { return this.b.c } } }) vm.b.c=2
用watch去監聽computed計算過的值就可以直接知道是哪個對應的值發生了變化,結果如圖:
以上是“vue中watch如何監聽對象及對應值的變化”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。