mda*_*shs 1 angular2-template angular2-routing ngoninit angular
我有两个与父子关系相关的组件。父组件的 ngOnInit 方法检查用户是否登录,如果未登录,则导航到登录页面。
class ParentComponent implements OnInit{
ngOnInit(){
if(!authService.loggedIn){
//navigate to login screen code
return;
}
}
}
class ChildComponent implements OnInit{
ngOnInit(){
/** POINT TO BE NOTED **/
// this function is also called even if ngOnInit
// of parent navigates to different component and returns.
// do some stuff with userService.token
// but because token isn't available the calls fail
}
}
Run Code Online (Sandbox Code Playgroud)
如果父组件想要导航到其他组件,如何阻止此级联 OnInit 调用?
IMO,您不应该检查用户是否登录并离开组件。你应该使用守卫来做到这一点。
但是,要回答你的问题,你可以使用
<child *ngIf="isLoggedIn()"></child>
Run Code Online (Sandbox Code Playgroud)
如果用户未登录,这将阻止创建子组件。
| 归档时间: |
|
| 查看次数: |
345 次 |
| 最近记录: |