vue.js - 如何从 NuxtJS 中的 fetch 或 asyncData 钩子(Hook)访问 vuex 存储?

标签 vue.js nuxt.js server-side-rendering

我想从 fetch hook 访问 vuex 存储,特别是 getter。

这是我正在订单页面内使用 mapGetters 加载的 getter

computed: {
    ...mapGetters("auth", ["authUser"])
  },

这是来自 fetch hook 的 apollo 调用,我尝试提供 authUser.id 作为变量,该变量由 vuex 商店的 authUser getter 提供。

async fetch() {
    console.log("fetch order is called");
    const orderInput = {
      userId: this.authUser.id,
      orderStatus: "PENDING"
    };

    const response = await this.$apollo.query({
      query: getOrdersByUserIdQuery,
      variables: { orderInput }
    });

    this.orders = response.data.getOrderByUserId.orders;
    console.log("getOrderResponse", response);
  },

但是,它无法在初始页面加载时从商店加载 authUser

我很想知道我的步骤是否正确。如果这不正确,我可以遵循哪些其他替代方案?

最佳答案

将 this.$store 用于 (Nuxt >= 2.12)。 你应该已经有一家商店了:)

关于vue.js - 如何从 NuxtJS 中的 fetch 或 asyncData 钩子(Hook)访问 vuex 存储?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61560634/

相关文章:

javascript - Ag-Grid getRowClass 找不到 css

javascript - 禁用按钮时 '@typescript-eslint/no-non-null-assertion' 的用途

forms - 具有大型表单的 VueJS

javascript - 如何在 Laravel 应用程序上的 axios 中配置 header

javascript - Nuxt.js 中可以执行的嵌套路由的深度是否有限制?

vue.js - 使用 Nuxt.js 时动态 Vuex 模块初始化的最佳方法是什么?

vue.js - 如何使用 Nuxt 访问 asyncData 中的数据

带有 @nguniversal 的 Angular SSR 和用于 PostCSS 支持的自定义 webpack

javascript - 图像是在客户端还是在服务器端呈现?

javascript - 在 Vue 中使用服务器端渲染时异步数据更改