在Angular 2中,如何在运行时使用不同的路径?

时间:2017-06-23 17:04:46

标签: angular angular-ui-router

我有一个标志设置,用于确定用户是否已登录。如果没有,我想使用登录路由,它只有login和login / forgotpassword。否则,我想使用我的常规路线。

在我的app.module中,如何检查我的旗帜并加载不同的路径文件,具体取决于它的设置方式?

这是我的app.module:

import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import { BrowserModule } from '@angular/platform-browser';
import { AppComponent } from './app.component';
import { LoginAppRoutes } from "./login.routes";
import { AppRoutes } from "./routes";

@NgModule({
    imports: [BrowserModule,
    RouterModule.forRoot(LoginAppRoutes)], <-- How do I change this?
    declarations: [AppComponent],
    bootstrap: [AppComponent]
})
export class AppModule { }

1 个答案:

答案 0 :(得分:3)

我建议使用路由保护,检查用户是否登录,如果不是登录路由,否则渲染路由。 (参见:angular docs)并将该守卫应用于您想要保护的所有“根|父”路线。