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() 挂钩获取数据时防止模板错误

突变未提交状态 vuex - Nuxt

nuxt 获取数据

Laravel 无法获取 Nuxt 中 axios FormData 发送的数据

通过 slug 获取页面和页面数据。 Strapi 和 Nuxt

Nuxt:仅在服务器端获取数据