在重新加载带有routes子路由的页面时it does not load the component due to the nature of the component
,但它甚至没有路由回到主路由。首先,这应该由我来处理还是由角度来解决?
更新:哈希策略没有按照第二个问题的预期进行工作。如果首先,我有路线/users/...
和一个孩子/users/vote
。重新加载/users
时转到,/login
但重新/users/vote
加载时(自然)不会重新加载到该组件,也不会转到/ login
更新
@RouteConfig([
{path: '/vote', component: VoteComponent, name: 'VoteCmp',useAsDefault: true },
{path: '/getapproval', component: GetapprovalComponent, name: 'GetapprovalCmp' },
{path: '/userresults', component: ResultsComponent, name: 'UserresultsCmp' }
])
@Component({
selector: 'users',
....
directives: [ROUTER_DIRECTIVES, RouterLink]
})
export class UsersComponent{
constructor(private _userdetails: Userdetails, private _router: Router){
if (this._userdetails.usertypeDetails() === "" || this._userdetails.isLoggedin() === false){
this._router.navigate( ['HomeCmp'] );
}
if(this._userdetails.usertypeDetails() === 'admin'){
this._router.navigate( ['AdminCmp'] );
}
}
}
我的投票部分
@Component({
selector: 'vote',
template: `<div>Vote Component</div>`,
})
export class VoteComponent {
constructor(private _userdetails: Userdetails, private _router: Router){
if (this._userdetails.usertypeDetails() === "" || this._userdetails.isLoggedin() === false){
this._router.navigate( ['HomeCmp'] );
}
if(this._userdetails.usertypeDetails() === 'admin'){
this._router.navigate( ['AdminCmp'] );
}
}
}
我的boot.ts有这个
bootstrap(MainComponent,[Userdetails,ROUTER_PROVIDERS, Location, provide(LocationStrategy, {useClass: HashLocationStrategy}, ROUTER_BINDINGS, bind(APP_BASE_HREF).toValue('/')]);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句