我已经包装了几个组件'ngInit,并检查用户是否已登录:
export class ComponentX implements OnInit {
constructor(private _authService: AuthService) {}
ngOnInit() {
if(this._authService.isLoggedIn()) {
// Do stuff
}
else {
// Redirect to loggin page
}
}
}
因为我真的不想重复自己,所以如果检查到其他可以应用于我想要的组件的其他地方,我想移动它。
我怎么能这样做?
答案 0 :(得分:0)
正如Günter所做的那样
import { Injectable } from '@angular/core'
import { Router, CanActivate } from '@angular/router'
import { AuthUtils } from "./authUtils.service"
@Injectable()
export class AuthGuard implements CanActivate {
constructor(private _router: Router, private _authUtils: AuthUtils) {}
canActivate(): boolean {
if(this._authUtils.isLogged()) {
return true
}
else {
this._router.navigate(["/login"])
return false
}
}
}