Angular 5 - 为不同的文件夹分隔或隔离 app.component
Angular 5 - Separate or segregate the app.component for different folders
我在我的新项目中使用 Angular 5.2+,我对这项技术也是新手。
这是我的ang项目的文件夹结构:-
目前我的app.component.html看起来像这样:-
<app-header></app-header>
<app-leftnav></app-leftnav>
<div class="container body-content">
<router-outlet></router-outlet>
</div>
<app-footer></app-footer>
这些选择器,例如 <app-header> , <app-leftnav>
是独立的组件。
app.component.ts 看起来像这样:-
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
templateUrl: './app.component.html'
})
export class AppComponent { }
admin-routing.module.ts 看起来像这样:-
import { NgModule } from '@angular/core';
import { RouterModule} from '@angular/router';
import { UserSearchModule } from './userSearch/userSearch.module';
@NgModule({
imports: [UserSearchModule],
exports: [RouterModule]
})
export class AdminRoutingModule {
}
现在是主要问题:- 我想为管理员和客户端文件夹提供单独的 app.component.html 文件。因为管理员和客户端都有不同的页面结构。如何将 app.component.html 进一步抽象为 admin 和 client ?
如何使 app.component.html 内容特定于管理和客户区域。
或者我可以控制 app-header、app-leftnav 的呈现 w.r.t。管理员和客户端路由 ?
请提出合适的解决方案。
您的 app.component 是您的应用程序的入口点,那么您不应该尝试使其与您的用户配置文件不同。
相反,您可以为每个用户配置文件定义一个布局(一个内部带有 <router-outlet>
的组件)
然后像这样定义你的路线:
{
path: 'admin',
component: AdminLayoutComponent,
canActivate: [AdminGuard],
loadChildren: '../admin/admin.module#AdminModule'
}, {
path: 'client',
component: ClientLayoutComponent,
canActivate: [ClientGuard],
loadChildren: '../client/client.module#ClientModule'
}
我在我的新项目中使用 Angular 5.2+,我对这项技术也是新手。
这是我的ang项目的文件夹结构:-
目前我的app.component.html看起来像这样:-
<app-header></app-header>
<app-leftnav></app-leftnav>
<div class="container body-content">
<router-outlet></router-outlet>
</div>
<app-footer></app-footer>
这些选择器,例如 <app-header> , <app-leftnav>
是独立的组件。
app.component.ts 看起来像这样:-
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
templateUrl: './app.component.html'
})
export class AppComponent { }
admin-routing.module.ts 看起来像这样:-
import { NgModule } from '@angular/core';
import { RouterModule} from '@angular/router';
import { UserSearchModule } from './userSearch/userSearch.module';
@NgModule({
imports: [UserSearchModule],
exports: [RouterModule]
})
export class AdminRoutingModule {
}
现在是主要问题:- 我想为管理员和客户端文件夹提供单独的 app.component.html 文件。因为管理员和客户端都有不同的页面结构。如何将 app.component.html 进一步抽象为 admin 和 client ?
如何使 app.component.html 内容特定于管理和客户区域。
或者我可以控制 app-header、app-leftnav 的呈现 w.r.t。管理员和客户端路由 ?
请提出合适的解决方案。
您的 app.component 是您的应用程序的入口点,那么您不应该尝试使其与您的用户配置文件不同。
相反,您可以为每个用户配置文件定义一个布局(一个内部带有 <router-outlet>
的组件)
然后像这样定义你的路线:
{
path: 'admin',
component: AdminLayoutComponent,
canActivate: [AdminGuard],
loadChildren: '../admin/admin.module#AdminModule'
}, {
path: 'client',
component: ClientLayoutComponent,
canActivate: [ClientGuard],
loadChildren: '../client/client.module#ClientModule'
}