1.為什么需要vuex進行狀態(tài)管理孙咪?
2.狀態(tài)管理核心
狀態(tài)管理有5個核心,分別是state缕探、mutation、getter还蹲、action爹耗、module
(1)state
簡單的理解,可以把state想象成組件中的data谜喊,專門用來存儲數(shù)據(jù)的潭兽。
如果在組件中,想要訪問store中的數(shù)據(jù)锅论,只能通過```this.$store.state.xxx來訪問
(2)mutation
負責修改state中的數(shù)據(jù)
如果要操作store中的state值讼溺,不推薦直接操作state中的數(shù)據(jù),推薦通過調(diào)用mutations提供的方法來操作對應的數(shù)據(jù)最易。mutation的作用如下圖:
(3)getter
只負責對外提供數(shù)據(jù)怒坯,不負責修改數(shù)據(jù)
(4)action
action和mutation有些類似炫狱,不同在于
- action提交是不能直接修改state中的狀態(tài),而mutation是可以直接修改state中的狀態(tài)剔猿。
- action是支持異步操作的视译,而mutation只能是同步操作归敬。
(5)mudule
module解決了當state復雜臃腫的時候酷含,module可以將store分割成模塊,每個模塊擁有直接的state汪茧、mutation雀监、action和getter。