Я настраиваю систему, которая будет большой, поэтому я хочу иметь децентрализованные файлы router.js для каждого модуля. Каждый из них будет иметь объявления массивов маршрутов, которые будут отправлены в основной массив маршрутов.
Итак, сейчас у меня есть своего рода корневой файл маршрутов, в котором есть экземпляры и настройки VueRouter
, и он импортирует файлы первого уровня route.js для построения массива маршрутов.
основной файлways.js
import DashboardRoutes from './views/dashboard/routes'
Vue.use(Router)
export default new Router({
mode: 'history',
base: process.env.BASE_URL,
routes: [
{// Root public site
path: '/',
component: () => import('./views/pages/Index'),
children: PagesRoutes
},
name: 'page_error',
path: '*',
component: () => import('./views/error/Error')
}
].concat(
DashboardRoutes
)
})
модуль (первый уровень) файл rout.js
import InventoryRoutes from './inventarios/routes'
const routes = {
path: '/panel',
component: () => import('./Index'), // This Index has a layout with a router-view in it
children: [
// Inicio del panel
{
name: 'dashboard',
path: '',
component: () => import('./Dashboard'),
}
].concat(
InventariosRoutes
)
}
export default routes
Компоненты (второй уровень) файл rout.js
const routes = {
path: 'inventario',
name: 'panel_inventario',
component: { template: '<router-view/>' },
children: [
// Productos y servicios
{
name: 'panel_inventarios_productos-servicios',
path: 'productos-servicios',
component: () => import('./productos-servicios/ProductosServiciosHome'),
},
]
}
export default routes
В дереве компонентов vue-tools
я вижу AnnonymousComponent
в том месте, где должен быть вид моего роутера у моих детей.
Обновление
Я просто создаю внешний компонент, чтобы назвать егои проверьте, отображается ли он следующим образом:
Компоненты (второй уровень). route.js file
const loader = {
template: `
<div class="InventarioLoader">
<router-view></router-view>
</div>
`,
name: 'InventarioLoader'
}
const routes = {
path: 'inventario',
name: 'panel_inventario',
component: loader,
children: [
// children go here
]
}
Теперь я вижу свой InventarioLoader
компонент, но все еще не вижу своих детейкомпоненты, отображаемые в нем
Обновление
Я вижу эту ошибку на консоли
Вы используете сборку Vue только во время выполнения, когда компилятор шаблона недоступен,Либо предварительно скомпилируйте шаблоны в функции рендеринга, либо используйте компилятор, включенный в сборку.