如何重新加载asyncData?

问题描述 投票:0回答:1

我通过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)。

nuxt.js vue-router
1个回答
0
投票

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.