0

我使用 nuxt-generate 和 nuxt/device 包。它提供了设备类型,但用于布局,因为我在第一次加载时使用 nuxt-generate 应用程序使用默认布局。不是 nuxt/device 提供的。但是在我转到另一个页面后,它开始使用正确的布局。所以问题是我如何让应用程序在第一次初始化时使用布局。或者至少在初始化后更改它。有什么办法可以做到这些吗?这就是我尝试选择布局但在第一次打开时从未工作过的方式。

layout (context) {
    if(context.isMobile) {
        return 'mobile'
    } else if (context.isDesktop) {
        return 'default'
    } 
},
4

1 回答 1

1

当你使用 nuxt-generate nuxt 生成一系列静态html文件时,我认为没有简单的方法可以解决这个问题,但是可以有一系列的变通方法:

  • 在ssr 模式下使用 nuxt ,这样您就可以知道谁在调用该特定资源
  • 在路由级别进行区分,例如(/desktop/*** 和 /mobile/***),其中两条路由导致不同的布局,并且在网络服务器配置中对正确的路由进行重定向
  • 做一个重定向到正确路由/desktop /mobile的中间件,但我不推荐它,因为你失去了nuxt静态生成的优势
于 2020-07-02T13:48:10.887 回答