Vue项目数据状态管理机制Vuex详解之一:Vuex基础、环境安装及使用

一、Vuex基础
Vuex的定义

官方介绍:

Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。Vuex 也集成到 Vue 的官方调试工具 devtools extension (opens new window),提供了诸如零配置的 time-travel 调试、状态快照导入导出等高级调试功能。

定义中提到了“状态管理模式”,那么什么是状态管理模式?举个简单的例子,比如我们一个电商网站,上面有很多商品,A用户登录买掉了一个,那么平台上的商品就会少掉一个,那么商品的“数量”这个数据状态就发生了变化,我们单一的一个状态管理应用包含以下几个部分:

state:驱动应用的数据源;
view:以声明方式将 state 映射到视图;
actions:响应在 view 上的用户输入导致的状态变化。

以下是一个表示“单向数据流”理念的简单示意:
在这里插入图片描述
那么也会有这样一种场景,很多人同时去买这些商品,也就是都在操作这些商品数据,我们该怎么去处理呢?可以看出这些商品就是我们的一些公用数据,那么我们如果通过常规的组件之间传值的话肯定是可以处理的,但是操作起来就非常的繁琐,所以这样,Vuex就提出了这样的操作公共数据的解决方案,他就是用来存放、管理我们的公共数据的,也就是我们常说的“数据仓库”。

当我们的应用遇到多个组件共享状态时,单向数据流的简洁性很容易被破坏:

多个视图依赖于同一状态。
来自不同视图的行为需要变更同一状态。

对于问题一,传参的方法对于多层嵌套的组件将会非常繁琐,并且对于兄弟组件间的状态传递无能为力。
对于问题二,我们经常会采用父子组件直接引用或者通过事件来变更和同步状态的多份拷贝。以上的这些模式非常脆弱,通常会导致无法维护的代码。

因此,我们为什么不把组件的共享状态抽取出来,以一个全局单例模式管理呢?在这种模式下,我们的组件树构成了一个巨大的“视图”,不管在树的哪个位置,任何组件都能获取状态或者触发行为!通过定义和隔离状态管理中的各种概念并通过强制规则维持视图和状态间的独立性,我们的代码将会变得更结构化且易维护。Vuex 是专门为 Vue.js 设计的状态管理库,以利用 Vue.js 的细粒度数据响应机制来进行高效的状态更新。

安装与使用
1、直接引用或者下载离线引用

引用和下载地址:https://unpkg.com/vuex

2、命令行安装

npm:

npm install vuex --save

yarn:

yarn add vuex

通过 Vue.use() 来安装 Vuex将Vuex挂载到Vue实例上来使用,如下:

import Vue from 'vue';
import Vuex from 'vuex';
Vue.use(Vuex);

下一篇:Vue项目数据状态管理机制Vuex详解之二:Vuex核心讲解(数据状态管理)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

longerJue

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值