我有两个组成部分,父母和孩子的关系。父组件的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
}
}如果父组件想导航到其他组件,如何阻止这个级联的OnInit调用?
发布于 2017-05-08 21:01:52
IMO,您不应该检查用户是否已登录并从组件中导航。相反,您应该使用一个守卫来完成这个任务。
但是,为了回答你的问题,你可以用
<child *ngIf="isLoggedIn()"></child>这将防止在用户未登录时创建子组件。
https://stackoverflow.com/questions/43857040
复制相似问题