vuex vue简单使用知识点总结
vue概念:vuex 是 Vue 配套的 公共数据管理工具,它可以把一些共享的数据,保存到 vuex 中,方便 整个程序中的任何组件直接获取或修改我们的公共数据; 配置vuex的步骤: 1、运行cnpm i vuex -S 2、导包 import Vuex from 'vuex' 3、将vuex注册到vue中 Vue.use(Vuex) 4、new Vuex.Store() 实例,得到一个 数据仓储对象 var store = new Vuex.Store({ state: { // 大家可以把 state 想象成 组件中的 data ,专门用来存储数据的 // 如果在 组件中 Vue.js 是一款流行的前端框架,而 Vuex 是 Vue 生态系统中的一个重要组成部分,它是一个专为 Vue.js 应用设计的状态管理模式。Vuex 提供了一个中心化的存储仓库来管理全局状态,使得组件之间共享数据变得更加简单和有序。在本文中,我们将深入探讨 Vuex 的基本使用方法及其核心概念。 要使用 Vuex,我们需要进行以下步骤: 1. **安装 Vuex**:在项目目录中,通过命令行工具执行 `cnpm i vuex -S` 安装 Vuex 包。这将把它作为项目的依赖添加到 package.json 文件中。 2. **导入 Vuex**:在需要使用 Vuex 的文件中,引入 Vuex 模块,例如: ```javascript import Vuex from 'vuex'; ``` 3. **注册 Vuex**:在 Vue 的根实例上使用 `Vue.use(Vuex)` 注册 Vuex 插件。这允许 Vue 与 Vuex 进行交互: ```javascript Vue.use(Vuex); ``` 4. **创建 Store**:创建一个新的 Vuex Store 实例。这是应用的核心,用于存放和管理全局状态: ```javascript const store = new Vuex.Store({ state: { count: 0, }, mutations: { increment(state) { state.count++; }, subtract(state, obj) { state.count -= (obj.c + obj.d); }, }, getters: { optCount(state) { return '当前最新的count值是:' + state.count; }, }, }); ``` 在 Vuex 中,有四个关键的概念: - **State**:就像 Vue 组件中的 `data`,`state` 用来存储应用的全局状态。组件内部可以通过 `this.$store.state` 访问这些状态。但直接修改 `state` 是不允许的,因为它可能导致数据流的混乱,不利于追踪错误。 - **Mutations**:`mutations` 是修改 `state` 唯一的途径。它们是同步的函数,接收 `state` 作为第一个参数,如果有需要,还可以接受其他参数。在组件中,我们使用 `this.$store.commit` 来触发一个 `mutation`。 - **Getters**:`getters` 类似于 Vue 组件中的计算属性 `computed` 或过滤器,它们提供了一种方式来处理或包装 `state` 数据,而不直接修改它。当 `state` 的值改变时,相关的 `getter` 会自动更新。组件可以使用 `this.$store.getters` 访问这些 getter 函数。 总结一下 Vuex 的主要使用规则: 1. **不要直接修改 `state`**:所有状态变更应通过 `mutations` 进行。 2. **获取数据**:组件中获取状态通常使用 `this.$store.state`,而获取经过处理的数据使用 `this.$store.getters`。 3. **触发变更**:使用 `this.$store.commit` 触发 `mutations` 来改变状态。 4. **数据包装**:如果需要对 `state` 的数据进行处理后再提供给组件,可以使用 `getters`。 了解这些基本概念后,你可以更好地组织和管理 Vue 应用中的数据流,确保状态的一致性。在大型应用中,Vuex 的强大功能可以帮助开发者维护清晰的代码结构和可维护性。继续学习和实践 Vuex,你将能够构建更复杂的 Vue 项目。