首页 > 解决方案 > 如何在 asyncData 中做 mapGetters?纽斯特

问题描述

我的目标是在 asyncData 中传递一个 getter 对象,因为我需要访问状态才能将数据传递给 axios

代码示例

export default {
   async asyncData() {
      let result = await $axios.$post('/api/test', { data: this.totalPrice })
   },
   computed: {
      ...mapGetters(["totalPrice"])
   }
}

如您所见,我想访问 getter 对象asyncData但是我得到了

在此处输入图像描述

标签: vue.jsnuxt.js

解决方案


文档中所述...

警告:您无法通过this内部访问组件实例,asyncData因为它在启动组件之前被调用。

相反,使用context提供的对象

async asyncData ({ store }) {
  const body = { data: store.getters.totalPrice }
  const { data } = await $axios.$post('/api/test', body)
  return data
}

推荐阅读