nuxt 获取数据
Posted 黑黑哈哈
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nuxt 获取数据相关的知识,希望对你有一定的参考价值。
asyncData
asyncData钩子只能放在页面组件上,asyncData无法访问组件实例 ( this)
Nuxt.js 会自动将返回的对象与组件数据进行浅合并
<template>
<div>
<h1>{{ detail.title }}</h1>
<p>{{ detail.description }}</p>
</div>
</template>
<script>
export default {
async asyncData({ $axios, route }) {
//拿到路由信息
const res = await $axios.$get(`/url/${route.params.id}`)
return res
},
data() {
return {
detail: {},
}
},
}
</script>
fetch
fetch钩子可以放在任何组件上
<template>
<div>
<h1>{{ detail.title }}</h1>
<p>{{ detail.description }}</p>
</div>
</template>
<script>
export default {
data() {
return {
detail: {},
}
},
async fetch() {
const res = await this.$axios.$get(`/url/${this.$route.params.id}`)
this.detail = res
},
}
</script>
监听路由字符串的更改
<template>
<div>
<h1>{{ detail.title }}</h1>
<p>{{ detail.description }}</p>
</div>
</template>
<script>
export default {
data() {
return {
detail: {},
}
},
watch: {
\'$route.query\': \'$fetch\'
},
async fetch() {
const res = await this.$axios.$get(`/url/${this.$route.params.id}`)
this.detail = res
},
}
</script>
以上是关于nuxt 获取数据的主要内容,如果未能解决你的问题,请参考以下文章
如何在使用 Nuxt 的 fetch() 挂钩获取数据时防止模板错误
Laravel 无法获取 Nuxt 中 axios FormData 发送的数据