vue2.0 watch里面的 deep和immediate用法說明
deep,默認值是 false,代表是否深度監(jiān)聽。
immediate:true代表如果在 wacth 里聲明了之后,就會立即先去執(zhí)行里面的handler方法,如果為 false就跟我們以前的效果一樣,不會在綁定的時候就執(zhí)行。
computed: {
btnObj() {
const { sign_img, check } = this
return {
sign_img,
check
}
}
},
watch: {
btnObj: {
handler: function(newVal,oldVal) {
if(!!this.sign_img && this.check){
this.submit_flag = true
this.sign_flag = '1'
}else{
this.submit_flag = false
this.sign_flag = '0'
}
},
deep: true,
immediate: true
}
}
補充知識:在vue中使用watch監(jiān)測數(shù)據(jù)改變的deep:true,和immediate:true
在項目中,有時候檢測一個變量的值是否反升了變化。通常使用的watch或者使用低效的循環(huán)判斷。
在次vue中給我們設置了深度監(jiān)測數(shù)據(jù)繁盛變化的方法。
1.vue中提供了在watch監(jiān)聽時設置deep:true 就可以實現(xiàn)對對象的深度監(jiān)聽;
2.immediate:true,代表watch里面聲明了之后會立馬執(zhí)行handler里面的函數(shù)。

這是一個使用vuex中的一個數(shù)據(jù),settingData.在實際中要檢測其值發(fā)生改變之后要讓一個button按鈕的disabled屬性移除。我們可以使用類似的方式,但是這樣寫的時候必須使用handler函數(shù)。
還有immediate:true,代表watch里面聲明了之后會立馬執(zhí)行handler里面的函數(shù)。執(zhí)行相應的邏輯。
如果不設置這些屬性可以使用循環(huán)的方式。
1.若是檢測的是對象,使用循環(huán)的時候可以將其轉(zhuǎn)換成數(shù)組。(簡單的對象處理)
1.使用Object.keys(obj)將其對象中的key拿出來放進一個數(shù)組中
a.for...in...
b.[].slice.call(object)
2.然后使用循環(huán)將對相應的值存儲在另一個數(shù)組中。
3.然后根據(jù)業(yè)務邏輯處理相應的數(shù)組

2.使用es6語法糖的方式
1.數(shù)組轉(zhuǎn)對象

2.對象轉(zhuǎn)數(shù)組
Array.from(object)
復雜的問題總有簡單的思路,遇到問題先思考出路然后寫代碼。
以上這篇vue2.0 watch里面的 deep和immediate用法說明就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
詳解Vue的常用指令v-if, v-for, v-show,v-else, v-bind, v-on
Vue.js的指令是以v-開頭的,它們作用于HTML元素,指令提供了一些特殊的特性。這篇文章主要介紹了Vue的常用指令v-if, v-for, v-show,v-else, v-bind, v-on 的相關知識,需要的朋友可以參考下2018-10-10
對Vue beforeRouteEnter 的next執(zhí)行時機詳解
今天小編就為大家分享一篇對Vue beforeRouteEnter 的next執(zhí)行時機詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-08-08
更強大的vue ssr實現(xiàn)預取數(shù)據(jù)的方式
這篇文章主要介紹了更強大的 vue ssr 預取數(shù)據(jù)的方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-07-07
Vue3使用Echarts導致tooltip失效問題及解決方法
Vue3 使用 proxy 對象代理,而 echarts 則使用了大量的全等(===), 對比失敗從而導致了bug,這篇文章主要介紹了Vue3使用Echarts導致tooltip失效問題及解決方法,需要的朋友可以參考下2023-08-08

