vuex相关

239 阅读1分钟

一堆名词儿先上

state 
mutations
commit
dispatch
actions
getters
mapGetters
mapState
mapMutations
mapActions

非常懵逼-全剧终
1:后台管理系统的全局变量管理
登陆名,部门,当前登陆环境,token等
对于这些需要全局使用的公有变量如何处理??

checkLogin() {
    const jsso_token = this.$util.getCookie('jsso_token');
    if(jsso_token && !this.jsso_token){
        this.$store.dispatch('setUserInfos', {
            name: this.$util.getCookie('name'),
            username: this.$util.getCookie('username'),
            department: this.$util.getCookie('department'),
            jsso_token
        })
        this.checkLoginToken()    
    }
}

//这是一段检查登陆的代码

dispatch(操作行为触发方法,是唯一能执行action的方法) --->
commit()来触发mutstion的调用,间接更新state--->
此时state中的值已经被改变--->
通过...mapGetters(['username']) 可以获取到