小生愛

Vuex 2.0 教程

 
                
        /**
            *   Vuex.js
                
            *   Vuex 是一个专门为 Vue.js 应用所设计的集中式状态管理架构
                
            *   组件本地状态
                
            *   应用层级状态 : 任何牵扯到一个以上组件的逻辑 都应该写在这里
            
            *   Vuex 应用的核心就是 store(仓库)
                state : 状态
                mutations : 状态变更事件
            
                *   Vuex的状态存储是响应式的 当Vue组件从store中读取状态的时候 若store中的状态发生变化
                    那么相应的组件也会相应地得到高效更新

                *   不要直接改变store中的状态 改变store 中的状态的唯一途径就是显式地提交(commit) mutations
            
            *   mutation 必须是同步函数 
                    store.commit(事件) 状态变更都应该在此刻完成

            *   Actions
                    Action 提交的是 mutation 而不是直接变更状态
                    Action 可以包含任意异步操作

            *   项目结构 : Vuex 并不限制你的代码结构 但是 它规定了一些需要遵守的规则
                *   应用层级的状态应该集中到单个 store 对象中
                *   提交 mutation 是更改状态的唯一方法 并且这个过程是同步的
                *   异步逻辑都应该封装到 action 里面
                * 如果 store 文件太大 可以将actioin mutation getters分隔到单独的文件
                  或者拆分 modules
                    
                store
                    ├── index.js          # 我们组装模块并导出 store 的地方
                    ├── actions.js        # 根级别的 action
                    ├── mutations.js      # 根级别的 mutation
                    └── modules
                        ├── cart.js       # 模块 1
                        └── products.js   # 模块 2

            *   strict : true 开启严格模式 无论何时发生了状态变更且不是由 mutation 函数引起的 将会抛出错
        */