詳解Vue的watch中的immediate與watch是什么意思
immediate
immediate設(shè)為true后,則監(jiān)聽的這個對象會立即輸出,也就是說一刷新頁面就會在控制臺輸出,當(dāng)然此時頁面上的數(shù)據(jù)我們還沒來得及手動讓其發(fā)生變化,所以在控制臺輸出的newValue為我們在代碼中默認(rèn)設(shè)置的值,oldValue輸出為“undefined”。如
當(dāng)我們手動改變newValue.id的值后,輸出如下:
如果不設(shè)置immediate,或者將immediate設(shè)為false的話,則刷新頁面后不會立即監(jiān)聽此對象,也就是控制臺不會有輸出,必須要監(jiān)聽的對象有值改變時控制臺才會有輸出。
data() {
return {
value:''
};
},
watch:{
value:{
handler:'init',
immediate:true
}
},
methods: {
init(){
alert(1)
}
}
deep設(shè)為true后,就可以深入監(jiān)聽了。簡單點(diǎn)說,就是可以監(jiān)聽到對象里面的值的變化了
<div>
<input type="text" v-model="student.studentName">{{student.studentName}}
</div>
student:{
studentName:'xi'
}
watch:{
student:{
handler:function (newValue,oldValue) {
console.log(newValue,'new')
console.log(oldValue,'old')
},
deep:true,
immediate:true
}
}
不加deep監(jiān)聽不到改變
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
vue2中組件互相調(diào)用實例methods中的方法實現(xiàn)詳解
vue在同一個組件內(nèi),方法之間經(jīng)常需要互相調(diào)用,下面這篇文章主要給大家介紹了關(guān)于vue2中組件互相調(diào)用實例methods中的方法實現(xiàn)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-08-08
vue?動態(tài)添加el-input的實現(xiàn)邏輯
這篇文章主要介紹了vue?動態(tài)添加el-input的實現(xiàn)代碼,本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-06-06
vue.js中父組件調(diào)用子組件的內(nèi)部方法示例
這篇文章主要給大家介紹了關(guān)于vue.js中父組件調(diào)用子組件內(nèi)部方法的相關(guān)資料,文中給出來了詳細(xì)的示例代碼供大家參考學(xué)習(xí),對大家的學(xué)習(xí)或者工作具有一定的參考價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-10-10
vue項目打包之后在本地運(yùn)行的實現(xiàn)方法
這篇文章主要介紹了vue項目打包之后在本地運(yùn)行的實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-07-07

