vuex状态自管理应用包含以下几个部分:
- state,驱动应用的数据源;
- view,以声明方式将 state 映射到视图;
- actions,响应在 view 上的用户输入导致的状态变化。
主要包含 state getter mutation action module 五个函数
很多人觉得 mutation action很难分清楚
Action 类似于 mutation,不同在于:
- Action 提交的是 mutation,而不是直接变更状态。
- Action 可以包含任意异步操作。
store
.commit
提交一个 mutation Mutation 必须是同步函数
Action 通过store.dispatch
方法触发
总结就是 Action 内部可以执行异步操作,而 mutation 必须是同步。
所以很多时候我们会在异步操作中用 Action;然后在 Action 调用commit 提交
mutation 改变state 里面的状态