Nuxt.js 在页面重新加载时获取

Cun*_*rtA 8 javascript vue.js nuxtjs

使用 nuxt.js 时fetch(),每当我重新加载页面时,它都不会再次获取它。仅当我来自路由器链路时。如何强制它从我的 API 中实际重新获取?

export default {
    async fetch() {
        const data = await this.$axios.$get(`/users/${this.$route.params.name}`)
        this.user = data
    },
    data() {
        return {
            user: []
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我查看的每个页面,他们总是在页面刷新时显示占位符,同时从他们的 API 重新获取,为什么我的 Nuxt.js 应用程序在刷新时不这样做?它只是没有从我的 API 重新获取数据,这很奇怪。

Jor*_*dan 3

我相信,在 Nuxt.JS 中,仅在从路由器导航渲染时调用 fetch 方法 - 手动重新加载不会触发此操作。

beforeMount()也许您可以使用而不是构建一个 mixinfetch()并将其应用到需要它的页面。

或者当然,就在页面本身:

async beforeMount() {
    const data = await this.$axios.$get(`/users/${this.$route.params.name}`)
    this.user = data
},
Run Code Online (Sandbox Code Playgroud)

https://nuxtjs.org/blog/understanding-how-fetch-works-in-nuxt-2-12/

  • 那么使用 fetch 有什么意义呢? (6认同)