VUE-VUEX

简介和理解

官方解释:Vuex 是一个专为 Vue 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。

我的理解是:vuex是用来管理共享状态。如果你正在构建大型的单页应用,你的页面很复杂,有很多个组件共同构成,那你就会遇到一个问题,需要在多个组件中共享同一个状态变量,并且会根据该状态不同响应不同的结果。

那么你就需要使用vuex来管理共享的状态

为什么使用vuex

什么样的情况下需要去考虑使用vuex嘞?在同一个页面里面,多个组件共同监听并操作同一个共享变量,对该共享变量的状态变更进行响应,那么你就应该考虑使用vuex

安装

npm install vuex --save

npm install es6-promise --save # npm

引入

import Vue from 'vue'

import Vuex from 'vuex'

Vue.use(Vuex)

使用

1 创建个js文件,在里面创建一个对象

state:里面是要共享的变量

d29d7bdab253ed747e7fe927c295b71ea6b.jpg

 

mutation: 更改vuex 中的状态的方法,通过调用该方法来更改状态

8aefc4c789f0b61525dc9c2420f867fc743.jpg

action:类似于 mutation,不同在于:1 action 提交的是 mutation,而不是直接变更状态。2 action 可以包含任意异步操作。action的写法基本是固定的.

8d547b1e407c625e43e0df55ffd6416329a.jpg

创建个文件,引入vuex和新建的js

new 出一个Vuex.Store,并把刚才写的js的对象注册进去

3在主文件中引入

91dcdab1c3f03bdbd17383a34017ffeef6f.jpg

调用

1 通过action 调用更新状态, this.$store.dispatch("action方法名", 参数)

7a9035e8ce4ce88ad4f70abe29d1b005f61.jpg

2 直接访问状态

65401922a8769be50b9ddf37afca0d147e8.jpg

Getter

有些时候,我们获取完状态之后需要统一进行过滤处理,从而派生出其他的状态,这个时候就需要使用到getter.

跟上面几乎差不多

1 创建一个js文件,定义getter对象

e9d0a1b3a32bb466b39b939f3ded6b570ec.jpg

这里面获取状态并进行处理和返回

2 注册到store

e9f2e9650a241c6d0ebbca34b3ca1a6e5a6.jpg

0e6644cc35529070a3491365aae29572682.jpg

调用

75d3e67c303e3a183cbef0f325d74793a58.jpg

vuex的调用其实都差不多,封装的方式不同可能有些许偏差,我一开始也是一直调不对,可以debugger一下或是使用插件查看下状态,多试几次

51acb64aba05039676cd8430abe50356d38.jpg

转载于:https://my.oschina.net/xiaohuihui96/blog/2120624

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值