在vue中使用watch監測數據改變的deep:true,和immediate:true(補充)


在項目中,有時候檢測一個變量的值是否反升了變化。通常使用的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)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM