[英]Forcing a navigation in every ngOnInit (conditionally and implicitly) in Angular 8
我的服务中有一个可变令牌。 目前,它决定我是否通过身份验证。 当应用程序需要检查用户是否登录时,它会询问应用程序!!this.security.token
并做出相应的反应。 这需要发生在每个安全组件中。
ngOnInit() {
if (!this.security.token)
this.router.navigate(["/login"]);
...
}
我想知道是否有更好的方法来处理这个问题。 我正在比较向我的 GET 和 POST 添加标头和日志记录的 HTTP 拦截器,这非常方便。 然而,谷歌搜索拦截器角度路由器只给出了 HTTP 注入的命中率,与控制路由无关。
有没有办法拦截对检查令牌仍然存在的每个组件的调用?
export class SomeComponent implements OnInit {
constructor(
private security: SecurityService,
private router: Router,
private route: ActivatedRoute) { }
id: string;
ngOnInit() {
if (!this.security.token)
this.router.navigate(["/"]);
this.route.params
.subscribe(suc => this.id = suc.id);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.