2016-10-03 85 views
4

我已經在我的angular 2項目中設置了一些路由。這在過去對我來說從來都不是問題,但我在使用這個更新版本的角度時遇到了困難。Angular 2 - 不能導航到直接使用URL的路由

如果我點擊指向路線的鏈接,我沒有任何問題。但是,如果我去任何其他路線比我的根(/)我的應用程序將卡在加載屏幕上。每次我試圖通過URL我卡住去/login ..

相關文件

app.routes.ts

import { ModuleWithProviders } from '@angular/core'; 
import { Routes, RouterModule } from '@angular/router'; 
import { DashboardComponent } from './dashboard/dashboard.component' 
import { LoginComponent } from './login/login.component' 

import { AuthGuard } from './auth-guard.service' 

const appRoutes: Routes = [ 
    { path: '', component: DashboardComponent}, 
    { path: 'login', component: LoginComponent }, 
] 

export const appRoutingProviders: any[] = [ 

]; 

export const routing: ModuleWithProviders = RouterModule.forRoot(appRoutes) 

app.module.ts

@NgModule({ 
    declarations: [ 
    AppComponent, 
    LoginComponent, 
    DashboardComponent 
    ], 
    imports: [ 
    BrowserModule, 
    FormsModule, 
    HttpModule, 
    routing, 
    StoreModule.provideStore({user}) 
    ], 
    providers: [ 
    AuthGuard, 
    AuthService, 
    appRoutingProviders 
    ], 
    bootstrap: [AppComponent] 
}) 
export class AppModule { } 

app.component.html

<div id="header"> 
    <img src="app/assets/img/irs-logo.png" alt="irs"> 
</div> 
    <nav> 
    <a routerLink="/login" routerLinkActive="active">login</a> 
    <a routerLink="/" routerLinkActive="active">dashboard</a> 
    </nav> 

<div id="body" class="container body"> 
    <router-outlet></router-outlet> 
</div> 

還有什麼我可以在這裏失蹤?

我的組件在這個階段幾乎是空殼

+0

你的Authguard服務與此有關?嘗試刪除邏輯,看看它的影響路由如何。 – Bean0341

+0

嘗試在appRoutes的最後添加{path:'**',redirectTo:''},並嘗試去除根以外的路徑。檢查這個重定向到主要或將卡住,也檢查登錄,看看會發生什麼 – ulou

+0

@ulou我試過了,沒有變化 – hamobi

回答

-1

如果您使用的是最終版本,這是怎麼會:

[routerLink]="['login']"

(通知也沒有領先/

相關問題