Nuxt.js项目如何在asyncData ()生命周期中获取vuex实例

由于asyncData方法是在组件 初始化 前被调用的,所以在方法内是没有办法通过 this 来引用组件的实例对象。

在asyncData方法中无法使用this,但是业务需求在该方法中调用vuex实例。

虽然无法直接使用this来调用vuex实例,但是我们可以使用asyncData方法中的第一个参数:ctx(上下文对象),该参数包含了当前环境所有信息。通过ctx.store就可以获取到vuex 实例。

比如:

async asyncData(ctx) {
    console.log('username:'+ctx.store.state.user.userName)
}

参考:

  • SegmentFault 思否 https://segmentfault.com/q/1010000014621838

你可能感兴趣的:(Nuxt.js学习)