我是 nuxt.js 的新手,我想问是否有任何方法可以在 asyncData 中传递数据。
这是代码。
<script type="text/javascript">
import axios from 'axios'
export default {
data(){
return {
sample: 'asdf',
baseUrl: 'https://jsonplaceholder.typicode.com/posts/1'
}
},
async asyncData ({ params }) {
let { data } = await axios.get(this.baseUrl)
return { title: data}
}
}
</script>
我知道你无权访问this
但有没有办法传递数据。谢谢。
通常这种配置比如在 nuxt 的环境变量中定义的 baseurl。Docs https://nuxtjs.org/api/configuration-env/
// nuxt.config.js
env: {
baseUrl: process.env.BASE_URL || 'http://localhost:3000'
}
然后你可以通过 process.env 在任何地方访问它,例如在异步数据中
async asyncData ({ params }) {
let { data } = await axios.get(process.env.baseUrl)
return { title: data}
}
但是对于 axios 的 baseUrl 你可以只定义一次,例如在plugins/axios中,然后从那里导入
import axios from 'axios'
export default axios.create({
baseURL: process.env.baseUrl
})
或者你可以使用@nuxt/axios 模块 https://github.com/nuxt-community/axios-module您可以将 baseUrl 设置为配置选项 https://axios.nuxtjs.org/options.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)