如何使用Nuxt.js向axios传递Vuex变量?

时间:2019-08-27 14:34:48

标签: axios vuex nuxt.js

我实际上是在Nuxt.js项目中使用Axios来捕获Json文件,以将其显示在我的网站上。我想在Vuex中使用变量存储来选择我的Axios获取请求的路径。

这是我的<script>的样子:

<script>
import axios from 'axios'
import vuex from 'vuex'

export default {

  async asyncData({ }) {
    const json = await axios.get(`https://myurl.com/${$store.getters["getPath"]}`)
    return { json }
  }
}
</script>

请确保这不是执行此操作的好方法。我收到控制台错误:ReferenceError: store is not defined

谢谢!

1 个答案:

答案 0 :(得分:1)

使用asyncData方法时,您无权访问this关键字,因此asyncData方法收到context对象作为自变量,您可以从中获取访问权限到Axios,Vuex等。因此,您不需要导入Axios和Vuex。

export default {
  async asyncData({ $axios, store }) { //here we get Axios and Vuex
    const json = await $axios.get(`https://myurl.com/${store.getters["getPath"]}`)
    return { json }
  }
}