"text" v-model.lazy=
"username"
/>
watch:
}
lazy的作用,在enter鍵按下或者失去輸入框失去焦點後觸發此方法的缺點:當值第一次繫結的時候不會執行監聽函式,只有當值改變的時候才會執行;
需求:如果我們想在第一次繫結的時候就執行此監聽函式,則需要設定immediate為true.
應用場景:當父元件向子元件動態傳值時,子元件props首次獲取到父元件傳來的預設值時,也需要執行函式,此時就需要設定immediate:true;
immediate表示在watch中首次繫結的時候,是否執行handler,值為true則表示在watch中宣告的時候,就立即執行handler方法,值為false,則和一般使用watch一樣,在資料發生變化的時候才執行handler。
username:
, immediate:
true,}
,
當需要監聽乙個物件的改變時,普通的watch方法無法監聽到物件內部屬性的改變,只有data中的資料才能夠監聽到變化,此時就需要deep屬性對物件進行深度監聽。
"text" v-model.lazy=
"usermsg.weight"
/>
data()
}},watch:
, immediate:
true
, deep:
true
}}
注意:當監測為物件的時候,newval == oldval
此時會給usermsg的所有屬性都加上監聽函式,如果屬性較多時,每個屬性值的變化都會執行handler。如果只需要監聽物件中的乙個屬性值,則可以做以下優化:使用字串的形式監聽物件屬性:
注意:陣列的變化不需要深度監聽;
在watch中不要使用箭頭函式,因為箭頭函式中的this是指向當前作用域.
vue中watch的使用
vue中的watch是乙個比較重要的概念,通過他我們可以檢測data的變化,下面進行詳細的介紹。watch定義方式如下 即在watch中,舉例如下 en 函式執行之後,分別在控制台中列印出new 2,old 1 以及 alert 666。舉例 最後貼出完整的 class add remark cla...
vue中watch的使用問題
1 如果有change原生事件盡量用原生,不要用watch,畢竟watch只是封裝了一層,效能各方面不如原生方法。2 盡量不要watch陣列,如果非得監控陣列的變化,就設定乙個flag,陣列變flag變,watch對應的flag來處理。當前有兩個陣列 tempy label1 label2 labe...
vue中watch的使用探索
在專案中,經常有需要根據乙個值的變化,來相應的更新另乙個值的狀態。vue給我們提供了乙個很好用的watch方法,可以方便監控,watch並不完美,需要具體了解一下。new vue phonelist xiaomi huawei oppo watch 對於字串 數字等簡單的型別,可以入以上形式直接監聽...