【发布时间】:2016-12-12 18:35:37
【问题描述】:
我是 Angular 2 的新手。我的应用使用 2 个模板,一个用于访客,另一个用于经过身份验证的用户。 为此,我在 app.component.html
中进行了设置<router-outlet name="header"></router-outlet>
<router-outlet name="left"></router-outlet>
<router-outlet></router-outlet>
<router-outlet name="footer"></router-outlet>
在我的 app.routes.ts 文件中,我为这样的经过身份验证的用户定义了出口:
export const routes: Routes = [
{ path: '', component: LoginComponent },
{ path: '' , component: HeaderComponent, outlet: 'header' },
{ path: '' , component: LeftComponent, outlet: 'left' },
{ path: '' , component: FooterComponent, outlet: 'footer' },
...
];
export const routing: ModuleWithProviders = RouterModule.forRoot(routes);
但是对于访客用户,在我的LoginComponent 中,我想用EmptyComponent 替换出口组件:
{ path: '' , component: EmptyComponent, outlet: 'left' }
路由在 app.module.ts 中加载:
import { routing } from './app.routes';
@NgModule({
imports: [
...
routing
],
declarations: [
AppComponent,
HeaderComponent,
LeftComponent,
FooterComponent,
LoginComponent
],
providers: [
...
],
bootstrap: [ AppComponent ]
})
export class AppModule {}
但我不知道该怎么做。我尝试使用 @Routes 指令,但我使用 angular-route-3.3.0 并且该指令已被删除...
【问题讨论】:
标签: javascript angular routes router