Как применить другие компоненты к одному пути 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 }, ... ] })

1 ответ

Vue-router допускает только один компонент на маршрут. Это основная причина того, что ваш код работает не так, как задумано.

Возможное решение состоит в том, чтобы иметь функциональный компонент для вложения этой логики:

export default {
  functional: true,
  render(h) {
    return isMobile 
    ? h('MobileSomeComponent')
    : h('DesktopSomeComponent')
  }
}
Другие вопросы по тегам