如何重新加载asyncData?

时间:2020-04-18 12:00:50

标签: nuxt.js vue-router

我通过Nuxt.js中的asyncData从后端获取数据:

  async asyncData ({ app }) {
    const { data: { testimonials } } = await axios('https://example.com/api/testimonials.json')

    return {
      testimonials
    }
  }

站点以通用模式配置-页面在服务器上呈现。但是客户可以拥有一个cookie,该cookie将对其进行身份验证,以接收来自CMS的私人内容。

这在客户端上导航时有效(通过浏览器中的cookie调用asyncData),但是第一次加载时(服务器的HTML)不会加载私有内容。

是否有一些方法可以在客户端上调用realod asyncData?我可以通过隐藏按钮或其他逻辑来调用它(例如,浏览器中有一个身份验证Cookie)。

1 个答案:

答案 0 :(得分:0)

您最好在服务器端阅读cookie,并直接为您的用户提供正确的内容!

看看https://www.npmjs.com/package/cookie-universal-nuxt

您可以在nuxt路由中间件中或从商店中的nuxtServerInit中读取cookie。