2019-07-16 Vuex异步请求数据,在组件中获取store中state的方法

1、问题描述:初次加载时,调用vuex中state中的数据,但是vuex中state的数据需要axios请求获取。此时出现问题组件调用的时候 axios还没有执行完成,state的数据还是默认值。

此时应该想起来computed,没错,这个渲染进页面没有毛病,代码如下:

computed:{
    loginState:function(){
        return this.$store.getters.getLogin
    }
}

那么问题又来了 ,你想要在获取到state中的数据后执行某个方法怎么办???你在js中执行console.log(this.loginState)的结果依然是state的默认值,这是问题的关键哦。此时应该想起watch,代码如下:

watch: {
    loginState(val) {
        console.log(val)
    }
}

此时的val就是axios执行完成之后获取的数据。搞定!!!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容