Есть ли способ загрузить динамический компонент в маршрутизаторе vuejs ..? - PullRequest
0 голосов
/ 24 января 2019

Я работаю над проектом, в котором есть возможность использовать несколько тем / макетов в зависимости от определенных условий.У меня есть панель с пятью пятью предварительно созданными темами, и администратор может выбрать определенную тему, и в зависимости от этого раздела появится внешний вид, предположим, что администратор выберет ThemeOne, тогда маршрутизатор будет использовать только компоненты ThemeOne,

route.js

const selectedTheme = 'themeTwo'
import Vue from 'vue'

import Router from 'vue-router'

import Home from './views/'+ selectedTheme + '/Home.vue'

import About from './views/'+ selectedTheme + '/About.vue'


Vue.use(Router)

export default new Router({
    mode: 'history',
    base: process.env.BASE_URL,
    routes: [
        {
            path: '/',
            name: 'home',
            component: Home
        },
        {
            path: '/about',
            name: 'about',
            component: About
        }
    ]
})

Пожалуйста, помогите ... Как это

1 Ответ

0 голосов
/ 24 января 2019

Вы можете загрузить все свои темы в свой компонент и загрузить тему на основе переменной.

Затем вы можете создать любой способ выбрать свою тему.Например, вы можете создать раскрывающийся список.

<template>
    <component :is="themeSelector"></component>
</template>

<script>
    import fooTheme from 'fooTheme'
    import fooTheme2 from 'fooTheme2'
    import fooTheme3 from 'fooTheme3'

    export default {
        name: 'fooParent',
        components: {
            fooTheme,
            fooTheme2,
            fooTheme3,
        },
        data: function() {
            return {
                themeSelector: 'fooTheme2'
            }
        }
    }
</script>
...