什么是Vuex
Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式 + 库。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。
vuex安装
npm install vuex@next --save
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
export default new Vuex.Store({
state: {},
getters: {},
mutations: {},
actions: {},
modules: {}
})
同步
state: {
token: ''
},
getters: {
getToken(state) {
return state.token;
}
},
mutations: {
upToken(state, val) {
state.token = val;
}
},
// 同步更改值
this.$store.commit('upToken',r)
// 拿到state 参数
alert(this.$store.getters.getToken)
<template>
<div>{{ token }}</div>
</template>
<script>
export default {
name: "MainView",
// 通过计算属性拿到 参数
computed: {
token() {
return this.$store.state.token
}
}
}
异步
state: {
token: ''
},
getters: {
getToken(state) {
return state.token;
}
},
mutations: {
upToken(state, val) {
state.token = val;
}
},
actions: {
asycUpToken(context, val) {
context.commit('upToken', val);
}
},
// 更改 state 参数
this.$store.dispatch('asycUpToken',r)
浏览器刷新vuex参数消失解决办法
vuex现在存储数据只是在页面中,全局变量,刷新页面后参数会恢复到初始状态
思路存sessionStronger,通过vue生命周期监听,第一次存入,监听到刷新将存入数据在给state