#angular7
#angular7
Вопрос:
Компонент приложения настроен таким образом, я хочу создать страницу администратора и как разместить другое приложение-панель навигации
<app-nav></app-nav>
<router-outlet></router-outlet>
<app-footer></app-footer>
Это мой модуль укоренения.
какие изменения я должен здесь внести
const routes: Routes = [
{ path: 'Home', component:NavComponent,children:[{path:'',component:HomeComponent}] },
{ path: 'Teams', component:TeamsComponent,outlet:'sub' },
{ path: 'Calendar', component:CalendarComponent },
{ path: 'Fixture', component:FixtureComponent },
{ path: 'Gallery', component:GalleryComponent },
{ path: 'Partners', component:PartnersComponent },
{ path: 'Streams', component:StreamsComponent },
{ path: 'Videos', component:VideoComponent },
{path:'Login',component:LoginComponent},
{path:'Ctrl',component:AdminComponent},
{ path: '**', redirectTo: 'Home', pathMatch: 'full' }
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
export class AppRoutingModule {
constructor(){
}
}
Ответ №1:
Попробуйте определить макет на основе вашего маршрута
FooterOnlyLayoutComponent:
<div class="content" fxFlex>
<router-outlet></router-outlet>
</div>
<app-footer></app-footer>
Чтобы использовать этот макет для маршрута входа, маршрут должен быть указан следующим образом:
const routes: Routes = [
{
path: 'login',
component: FooterOnlyLayoutComponent,
children: [
{ path: '', component: LoginComponent },
]
}
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule]
})
export class LoginRoutingModule { }
Другой макет :
MainLayoutComponent:
const routes: Routes = [
{
path: 'dashboard',
component: MainLayoutComponent,
children: [
{ path: '', component: DashboardComponent }
]
}
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule]
})
export class DashboardRoutingModule { }
Комментарии:
1. Нужно ли мне создавать новый модуль? app-routing.module.ts бесполезен?
2. Можете ли вы снова просмотреть модуль?
3. Нет, вы можете просто определить весь свой маршрут в одном массиве и указать
component
в качестве базового макета для вашегоchildren
4. { путь: ‘Home’, компонент: NavComponent, дочерние элементы: [ { путь: «, компонент: HomeComponent }, ] }, не так ли? импортирует: [RouterModule.forRoot(маршруты)],
5. Да, теперь ваш код будет деформироваться
HomeComponent
изнутриNavComponent
. не забудьте добавить свой HTML вNavComponent
и поместить<router-outlet></router-outlet>