在項目中,有時候檢測一個變量的值是否反升了變化。通常使用的watch或者使用低效的循環判斷。 在次vue中給我們設置了深度監測數據繁盛變化的方法。
1.vue中提供了在watch監聽時設置deep:true 就可以實現對對象的深度監聽; 2.immediate:true,代表watch里面聲明了之后會立馬執行handler里面的函數。
這是一個使用vuex中的一個數據,settingData.在實際中要檢測其值發生改變之后要讓一個button按鈕的disabled屬性移除。我們可以使用類似的方式,但是這樣寫的時候必須使用handler函數。
還有immediate:true,代表watch里面聲明了之后會立馬執行handler里面的函數。執行相應的邏輯。
如果不設置這些屬性可以使用循環的方式。
若是檢測的是對象,使用循環的時候可以將其轉換成數組。(簡單的對象處理)
1.使用Object.keys(obj)將其對象中的key拿出來放進一個數組中
a.for...in...
b.[].slice.call(object)
2.然后使用循環將對相應的值存儲在另一個數組中。
3.然后根據業務邏輯處理相應的數組
使用es6語法糖的方式
對象轉數組
Array.from(object)