# vue-example **Repository Path**: jay6697117/vue-example ## Basic Information - **Project Name**: vue-example - **Description**: 通过例子来深入理解vue - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-01-17 - **Last Updated**: 2022-06-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## `vuex`学习 `Vuex`其实就是一个`vue`项目中的全局变量(状态`state`),可以在任意组件中直接使用,而不用通过复杂的组件传参来获取。它相对于`js`中的全局变量有如下俩个特点,这也是我们为什么要使用状态管理的原因: * `Vuex`的状态存储是响应式的。当`Vue`组件从`store`中读取状态的时候,若`store`中的状态发生变化,那么相应的组件也会相应的得到高效更新 * 你不能直接改变`store`中的状态。改变`store`中状态的唯一途径就是显示的提交(`commit`)`mutation`。这样使得我们方便地跟踪每一个状态的变化,从而让我们能够实现一些工具帮助我们更好地了解我们的应用。 ### `vue`工作流 `vue`中的核心概念有4个: * `state` * `getters` * `mutations` * `actions` 当我们要更改页面中的一个状态的时候,如果这个状态更新是异步的,那么我们应该先通过`store`的`dispatch`方法来派发一个`actions`,在`actions`中会通过`store`的`commit`方法来提交一个`mutations`,之后再`mutations`中进行`state`的修改。之后由于组件中都是通过`computed`来获取`state`中的值,那么组件中的内容也会更新。 如果我们要同步更改状态,那么可以直接提交`mutations`,不必再通过`dispatch`一个`actions`来更改状态,相比之下会更简洁一些,但都是通过提交`mutations`来更改`state`。 ### 知识点 1. 命名空间(可以嵌套) 2. 动态创建命名空间 3. 插件 4. `v-mode`绑定`vuex state`