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