Vue?watch監(jiān)聽使用的幾種方法
一、watch使用的幾種方法
1、 通過 watch 監(jiān)聽 msg 數(shù)據(jù)的變化。
watch: { msg(oldValue, newValue) { console.log(oldValue) console.log(newValue) } }
2、通過 watch 監(jiān)聽 obj數(shù)據(jù)的變化。(深度監(jiān)聽 deep)
data() { return { obj: { 'name': "趙", 'age': 18 }, } }, watch: { obj: { handler(oldValue,newVal) { console.log(oldValue) console.log(newValue) }, deep: true // 深度監(jiān)聽 } }
3、通過 watch 監(jiān)聽 data 數(shù)據(jù)的變化,數(shù)據(jù)發(fā)生變化時,執(zhí)行 change 方法
watch: { data: 'change' // 值可以為methods的方法名 }, methods: { change(oldVal,newVal){ console.log(oldVal,newVal) } }
二、watch中的immediate與handler和deep屬性
1、immediate屬性
使用watch時有一個特點,就是當值第一次綁定時,不會執(zhí)行監(jiān)聽函數(shù),只有值發(fā)生改變時才會執(zhí)行。如果我們需要在最初綁定值的時候也執(zhí)行函數(shù),則就需要用到immediate屬性。
2、handler屬性
watch中需要具體執(zhí)行的方法
3、deep屬性
當需要監(jiān)聽一個對象的改變時,普通的watch方法無法監(jiān)聽到對象內(nèi)部屬性的改變,此時就需要deep屬性對對象進行深度監(jiān)聽,數(shù)組字符串一般不需要
data() { return { obj: { 'name': "王", 'age': 18 }, } }, watch: { obj: { // 執(zhí)行方法 handler(oldValue,newVal) { console.log(oldValue) console.log(newValue) }, deep: true, // 深度監(jiān)聽 immediate: true // 第一次改變就執(zhí)行 } // 如果只需要監(jiān)聽對象中的一個屬性值,則可以做以下優(yōu)化:使用字符串的形式監(jiān)聽對象屬性: 'obj.name': { // 執(zhí)行方法 handler(oldValue,newVal) { console.log(oldValue) console.log(newValue) }, deep: true, // 深度監(jiān)聽 immediate: true // 第一次改變就執(zhí)行 } }
到此這篇關(guān)于Vue watch監(jiān)聽使用的幾種方法的文章就介紹到這了,更多相關(guān)Vue watch監(jiān)聽內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue+vant使用圖片預(yù)覽功能ImagePreview的問題解決
這篇文章主要介紹了vue+vant使用圖片預(yù)覽功能ImagePreview的問題解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-04-04vue項目拍照或上傳圖片并實現(xiàn)轉(zhuǎn)化為base64格式
這篇文章主要介紹了vue項目拍照或上傳圖片并實現(xiàn)轉(zhuǎn)化為base64格式方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-11-11在vue中把含有html標簽轉(zhuǎn)為html渲染頁面的實例
今天小編就為大家分享一篇在vue中把含有html標簽轉(zhuǎn)為html渲染頁面的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-10-10關(guān)于electron-vue打包后運行白屏的解決方案
這篇文章主要介紹了關(guān)于electron-vue打包后運行白屏的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-10-10