Я пытаюсь получить ленивую загрузку для работы для своего приложения, но это одна проблема за другой. Я получил основной маршрут к ленивой нагрузке, которая равна /admin
, теперь я хочу добавить еще один маршрут, который равен /admin/login
.Angular 2 как определить ленивые загруженные дочерние маршруты родительского маршрута, которые также ленивы загружены
Так что я сделал это:
админа router.module.ts
@NgModule({
imports: [
ComponentsModule,
SharedModule,
RouterModule.forChild([
{
path: '',
component: AdminAreaComponent,
children: [
{
path: 'login',
loadChildren: 'app/+admin-area/pages/login/login.module#LoginModule'
}
]
}
])
],
exports: [
RouterModule
],
declarations: [
AdminAreaComponent
]
})
export class AdminAreaRouterModule {}
логин-router.module.ts
import {NgModule} from '@angular/core';
import {RouterModule, Routes} from '@angular/router';
// Global modules
import {ComponentsModule, SharedModule} from '../../shared';
// Components
import {LoginComponent} from '../login.component';
@NgModule({
imports: [
ComponentsModule,
SharedModule,
RouterModule.forChild([
{
path: '',
component: LoginComponent
}
])
],
exports: [
RouterModule
],
declarations: [
LoginComponent
]
})
export class LoginRouterModule {}
login.module. ts
import {NgModule} from '@angular/core';
import {ComponentsModule, SharedModule} from '../../../shared';
import {LoginComponent} from './login.component';
import {LoginRouterModule} from './router';
@NgModule({
imports: [
ComponentsModule,
SharedModule,
LoginRouterModule
],
exports: [
ComponentsModule,
SharedModule,
LoginRouterModule
]
})
export class LoginModule {}
Проблема в том, что после того, как я добавлю часть children
, /admin
перестает работать вместе, выбросив ошибку Cannot match any routes. URL Segment: 'admin'
.
Разве это не так, как вы определяете дочерние маршруты ленивого загруженного маршрута? Как я могу это исправить?
Я использовал неправильный синтаксис для ленивых загруженных дочерних маршрутов, они должны действительно добавить некоторую информацию в документы об этом, потому что это далеко не очевидно. Еще раз большое спасибо. – Chrillewoodz
Знаете ли вы, как это решить? http://stackoverflow.com/questions/40131110/how-to-render-a-grandchild-view-into-the-same-router-outlet-as-the-first-child – Chrillewoodz
@Meligy вы пробовали, если ваш пример работает с глубокой связью, я имею в виду как * type/copy ссылку на ленивый вложенный маршрут в адресной строке браузера и нажмите enter *? – superjos