vuex--在computed中使用


獲取 vuex state 中的值一定要使用 computed 而不能使用 data 嗎?
data 中的內容只會在 created 鈎子觸發前初始化一次,類似於你直接寫 const data = { foo: 123 } 這樣,這時屬性的值是純粹的字面量。
JS 字面量賦值后顯然不會自動更新。最簡單的例子:
let b = 'xxx' let a = b b = 'xyz' // 這時對於原始類型,a 肯定還是 'xxx'
 
換句話說,data 中內容依賴變更時,data 屬性不會變更(它的設計目標就是保存組件的局部狀態數據而已)。
而 computed 則是通過【依賴追蹤】實現的,在 computed 求值時引用的 Vue 變量變化時,會觸發對 computed 的重新計算。
 
所以你可以使用 computed 去引用 Vuex 狀態變量,從而使得依賴追蹤生效。
或者,將 Vuex 狀態變量通過 mapStateToComputed 映射為 computed 也是一個很方便的選擇。
 


免責聲明!

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



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