一、 watch是什么?
監(jiān)測 Vue 實例變化的一個表達(dá)式或方法。回調(diào)函數(shù)得到的參數(shù)為新值和舊值,用一個函數(shù)取代。
簡潔的說:watch的作用可以監(jiān)控一個值的變換,并調(diào)用因為變化需要執(zhí)行的方法。可以通過watch動態(tài)改變關(guān)聯(lián)的狀態(tài)。
二、watch的(三種)應(yīng)用
1、監(jiān)聽一個數(shù)據(jù)變化
<pre class="wp-block-code"><code><input type="text" v-model="val"/></code></pre>data(){
return{
val:'2'
}
},
watch: {
val: {
handler(newVal, objVal) {
console.log(11);
},
}
}
2、當(dāng)監(jiān)測為對象的時候(非數(shù)組情況),deep = true (對象內(nèi)部的屬性監(jiān)聽,也叫深度監(jiān)聽),包含handler方法和immediate(進(jìn)入組件的時候,第一次并不會執(zhí)行watch,是因為immediate 默認(rèn) false,當(dāng) immediate = true 的時候,進(jìn)入組件會立即執(zhí)行。并且可以監(jiān)測到組件傳遞數(shù)據(jù))
watch: {
'obj.name': {
handler(newName, oldName) {
// ...
},
deep: true,
immediate: true
}
}
文章來源:田珊珊個人博客
來源地址:http://www.tianshan277.com/853.html
申請創(chuàng)業(yè)報道,分享創(chuàng)業(yè)好點子。點擊此處,共同探討創(chuàng)業(yè)新機(jī)遇!