在 asyncData 中传递数据 Nuxt.js
Passing Data in asyncData Nuxt.js
我是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中通常是在env vars中定义的baseurl之类的配置。 Docs
// 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 module where u can set baseUrl as an configuration option
我是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中通常是在env vars中定义的baseurl之类的配置。 Docs
// 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 module where u can set baseUrl as an configuration option