如何将其他组件应用到Vue Router的一个路径

How to apply other components to one path of Vue Router

我正在使用 Nuxt。 使用单一路径,我想检查移动设备并应用不同的组件。 (我使用自定义 Router.js 并安装 'nuxt-device-detect')

例如:

javascript import DesktopSomeComponent from '~/pages/desktop/some' import MobileSomeComponent from '~/pages/moile/some' export function createRouter() { return new Router({ mode: 'history', routes: [ { path: '/', component: isMobile ? MobileSomeComponent : DesktopSomeComponent }, ... ] })

Vue 路由器 only allows one component per route。这是您的代码无法按预期工作的主要原因。

一个possible solution就是要有一个功能组件来嵌套这个逻辑:

export default {
  functional: true,
  render(h) {
    return isMobile 
    ? h('MobileSomeComponent')
    : h('DesktopSomeComponent')
  }
}