watch監聽中的deep以及immdiate


1 deep:深度監聽

使用場景:如果是監聽的是對象類型,當手動修改對象的某個屬性時,發現是無效的,此時需要給監聽器添加deep:true。

例如:

data:{
    obj:{
      a:1
    }
},
watch:{
    obj:{
      handler(newName,oldName){
          //執行代碼
      },
      deep:true //為true,表示深度監聽,這時候就能監測到a值變化。
    }
}

 

2 immdiate

使用場景:watch默認綁定,頁面首次加載時,是不會執行的。只有值發生改變才會執行。如果想立即執行怎么辦?

例子:

watch:{
2     name:{
3       handler(newName,oldName){
4           //執行代碼
5       },
6       immediate:true //true就表示會立即執行
7     }
8 }

 

data:{ obj:{ a:1 } }, watch:{ obj:{ handler(newName,oldName){ //執行代碼 }, deep:true//為true,表示深度監聽,這時候就能監測到a值變化 } }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM