Angular2 HashLocationStrategy总是重定向到root

时间:2017-01-25 00:18:42

标签: angular angular2-routing

我在HashLocationStrategy中使用app.module,如下所示:

@NgModule({
  imports:      [
    BrowserModule,
    AppRoutingModule
  ],
  declarations: [ AppComponent ],
  providers: [{provide: LocationStrategy, useClass: HashLocationStrategy}],
  bootstrap:    [ AppComponent ]
})

我的app-routing.module定义为:

export const routes: Routes = [
    { path: '', redirectTo: 'home', pathMatch: 'full'},
    { path: 'live', loadChildren: 'app/live/live.module#LiveModule' }

];

@NgModule({
  imports: [RouterModule.forRoot(routes)],
  exports: [RouterModule]
})
export class AppRoutingModule { }

当我导航到根网址时,它会将我正确地重定向到home,但是当我尝试导航到/live时,我仍然会被重定向到家。当我使用/#/live时,它会正确加载LiveModule

知道为什么会这样吗?

1 个答案:

答案 0 :(得分:-2)

根据Angular 2种子,@ NgModule中的Imports具有哈希策略的语法如下:

RouterModule.forRoot(rootRouterConfig,{useHash:true})

希望有所帮助