Nuxt.js中Axios的使用
npm install --save axios
为防止重复打包,在nuxt.config.js中配置
module.exports = {
build: {
vendor: ['axios']
}
}
每当更改nuxt.config.js中配置,需要重新启动项目:
npm run dev
必要知识储备:
Nuxt.js 扩展了 Vue.js,增加了一个叫 asyncData 的方法,使得我们可以在设置组件的数据之前能异步获取或处理数据。asyncData方法会在组件(限于页面组件)每次加载之前被调用。它可以在服务端或路由更新之前被调用。所以需要注意这个函数中不能使用this
注意:常规写法如果在created钩子中写异步,是在客户端渲染的而不是在服务端
使用方法:asyncData(context, callback) {callback(null, data)}
context.route.params.xxx获取参数或者context.params.xxx
callback(new Error(), data)渲染出错的页面
注意:这个方法在服务器端执行和在客户端执行的区别
import axios from 'axios'
asyncData(context, callback) {
axios.get('https://jsonplaceholder.typicode.com/posts')
.then(res => {
console.log(res);
callback(null, {list: res.data})
})
}
本文详细介绍了在Nuxt.js项目中如何安装、配置并使用Axios进行数据异步请求。从安装到配置,再到具体使用场景,包括在asyncData方法中如何正确调用Axios获取数据,避免在服务端渲染时出现的问题。
2439

被折叠的 条评论
为什么被折叠?



