【问题标题】:Nuxt choosing layout before initializeNuxt 在初始化之前选择布局
【发布时间】:2020-10-23 02:10:21
【问题描述】:

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

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

【问题讨论】:

    标签: vue.js nuxt.js nuxtjs


    【解决方案1】:

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

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

    【讨论】:

    • 感谢您的解释。
    猜你喜欢
    • 2021-06-25
    • 2023-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多