介绍
nuxt.js是基于Vue的应用框架,它预设了利用 Vue.js 开发服务端渲染的应用所需要的各种配置。它提供了一个asyncData方法可用于在服务端里异步的获取数据,它可以在页面组件每次加载前被调用。
使用
这里使用的是typescript的方式,asyncData方法获取到数据后会填充到data中,且asyncData方法在vue组件实例化之前被调用,因此无法获取到实例this。
方式一:使用axios
import axios from 'axios'
import { Component, Vue, } from "nuxt-property-decorator";
@Component({
asyncData(context: any): Promise <any> {
return axios.get('http://test-api/get/data').then(res => {
return {title: res.data.title, list: res.data.list}
})
},
})
export default class Index extends Vue {}
方式二:使用async\await
import axios from 'axios'
import { Component, Vue, } from "nuxt-property-decorator";
@Component({
async asyncData(context: any): Promise <any> {
let {data