- 只⽤来读取的状态集中放在 store 中; 改变状态的⽅式是提交 mutations ,这是个同步 的事物; 异步逻辑应该封装在 action 中。
- 在 main.js 引⼊ store ,注⼊。新建了⼀个⽬录 store , … export
- *场景有:单⻚应⽤中,组件之间的状态、⾳乐播放、登录状态、加⼊购物⻋
1.vuex
state : Vuex 使⽤单⼀状态树,即每个应⽤将仅仅包含⼀个 store 实例,但单⼀状态 树和模块化并不冲突。存放的数据状态,不可以直接修改⾥⾯的数据。
mutations : mutations 定义的⽅法动态修改 Vuex 的 store 中的状态或数据
getters :类似 vue 的计算属性,主要⽤来过滤⼀些数据。
action : actions 可以理解为通过将 mutations ⾥⾯处⾥数据的⽅法变成可异步的处 理数据的⽅法,简单的说就是异步操作数据。 view 层通过 store.dispath 来分发
action
modules :项⽬特别复杂的时候,可以让每⼀个模块拥有⾃⼰的 state 、
mutation 、 action 、 getters ,使得结构⾮常清晰,⽅便管理