我最近刚从 angular2 的路由器移到了ngrx 的路由器。另外,我正在使用 angular 2 rc4。
我的路线如下所示:
export const: Routes = [
{path: "appRoute1", component: "appComponent1", guards: [HashGuard, hasSelectedGuard]},
{path: "appRoute2", component: "appComponent2", guards: [HashGuard, hasSelectedGuard]},
]
HashGuard 只有一个函数(和一个构造函数):
protectRoute(candidate : TravesalCandidate){
if (!window.location.hash){
this.router.go(HOME_ADDRESS);
}
return Observable.of(true);
}
同样,HasSelectedGuard 只有一个功能:
protectRoute(candidate : TravesalCandidate){
if (!this.currentSelectionService.hasSelectedPerson()){
this.router.go(HOME_ADDRESS);
return Observable.of(false);
}
return Observable.of(true)
}
我正在引导任何需要的东西,因为我应该有:
bootstrap(AppComponent, [
provideRouter(routes, HashLocationStrategy),
Router,
HashGuard,
CurrentSelectionService
]
我有一个带有多个链接的 sidemenu 组件,还有一些我有 appRoute1 和 appRoute2:
<a [linkTo]="'/appRoute1'"> ... </a>
<a [linkTo]="'/appRoute2'"> ... </a>
当我单击其中一个链接时,URL 会按预期更改,但页面本身不会加载(单击后没有发送请求,并且组件的构造函数不是
非常感谢您的帮助。