Vuex由来
介绍:什么是Vuex?
什么是“状态管理模式”?
状态自管理应用包含以下几个部分:
能解决什么问题
基于上面的状态管理模式,如果是“单向数据流”理念则会很清晰简洁,但遇到多个组件共享状态时,单向数据流的简洁性很容易被破坏,则需要解决下面的问题:
Vuex 的产生
基本思想
优势与使用场景
Vuex 的状态存储是响应式的,可跟踪每一个状态变化,一旦它改变,所有关联组件都会自动更新相对应的数据。
共享数据,解决了非父子组件的消息传递(将数据存放在state中)。
统一状态管理,减少了请求次数,有些情景可以直接从内存中的state获取数据。
Vuex与全局变量的区别
| Vuex | 全局变量 |
|---|---|
| 不能直接改变store里面的变量,由统一的方法改变数据 | 可以任意修改 |
| 每个组件可以根据自己vuex的变量名引用不受影响 | 全局变量可能操作命名污染 |
| 解决了多组件之间的通信问题 | 跨页面数据共享 |
| 适用于多模块,业务关系复杂的中大型项目 | 适用于demo或小型项目 |
什么时候需要用Vuex?
项目结构
使用 Vuex 需要遵守的规则:
代码组织方式
如果你 store 文件太大,只需将 action、mutation 和 getter 分割到单独的文件。
对于大型应用,官方建议把 Vuex 相关代码分割到模块中。
下面是项目结构示例:
|—— pages
|—— static
|—— store
|—— index.js # 我们组装模块并导出 store 的地方
|—— actions.js # 根级别的 action
|—— mutations.js # 根级别的 mutation
|—— modules # 模块文件夹
|—— cart.js # 购物车模块
|—— products.js # 产品模块
|—— App.vue
|—— main.js
|—— mainfest.json
|—— pages.json
|—— uni.scss
核心概念
🔥BuildAdmin是一个永久免费开源,无需授权即可商业使用,且使用了流行技术栈快速创建商业级后台管理系统。