boenfu/vuex-along

为什么我的值并没有存储起来

whs891015 opened this issue · 10 comments

//存储值
import vuexAlong from 'vuex-along'
vuexAlong.watch(['localNum'],true);
vuexAlong.watchSession(['sessionNum'],true);
const state = {
admin_user_list:[]
}
const getters = {
admin_user_list:function (state) {
return state.admin_user_list
},
}
const actions={
async admin_user_list({commit},param) {
commit('admin_user_list',{param:param})
}
}
const mutations = {
admin_user_list(state, {param}) {state.admin_user_list = param},

}
export default {
state,
getters,
actions,
mutations,
plugins: [vuexAlong]
}
这是一个模块
import Vue from 'vue'
import Vuex from 'vuex'
import SysUser from './modules/SysUser'
Vue.use(Vuex)
export default new Vuex.Store({
modules: {
SysUser,
},
})

或者我卸载index.js里面也是没有效果的刷新页面数据就没有了
import Vue from 'vue'
import Vuex from 'vuex'
import vuexAlong from 'vuex-along'
import SysUser from './modules/SysUser'
Vue.use(Vuex)
//存储值
vuexAlong.watch(['localNum'],true);
vuexAlong.watchSession(['sessionNum'],true);
export default new Vuex.Store({
modules: {
SysUser,
},
plugins: [vuexAlong]
})

呃 vuexAlong.watch(['localNum'],true);
这个api是设置要保存或过滤的列表
也就是 localNum是你想保存的state的值
如你的admin_user_list

就酱写 vuexAlong.watch(['admin_user_list ']);

如果不设置 就默认保存所有state
;(。・ω・。)

第一次接触有点懵 能告诉我应该怎么改吗在我原来的代码基础上 以及组件中怎么调用

你把
vuexAlong.watch(['localNum'],true);
vuexAlong.watchSession(['sessionNum'],true);
去掉就能生效了

页面刷新后会给你自动设置进去的 不需要调用

6666谢谢

默认内容是存储在 localstorage的
如果你在某些地方需要清除 可以使用挂载在window下的 cleanVuexAlong()
或者使用 watchSession()
你可以看看文档ヾ(✿゚▽゚)ノ

请教一个问题我登录的时候
this.$store.dispatch('admin_token',data.admin_token)
this.$router.push({ path: '/sys_user_list' });
然后我在api.js获取这个值
import store from '../store'
var admin_token = store.state.SysUser.admin_token ? store.state.SysUser.admin_token:'';
发现是空的我刷新之后才会有

分发 Action 可能是异步的行为,在于你 action 里何时 提交 mutation ;
data.admin_token 如果是已经取得的 异步结果 可以直接提交 mutation 试试
你的问题原因为何没看你的代码 我推断不出来 ; ̄▽ ̄

可以加我一下qq吗3054611833