我实际上是在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
。
谢谢!
答案 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 }
}
}