Я создаю приложение в угловом 2 с машинописным текстом и добавляю аутентификацию.canActivated in angular2
Я создаю authguard для моего файла маршрутизации:
@Injectable()
export class AuthGuard implements CanActivate {
public router: Router;
public serverThisLogin: ServerDataComponent;
constructor(router: Router) {
this.router = router;
}
public canActivate(): boolean {
if (this.serverThisLogin.isLogin) {
return true;
}
this.router.navigate(["/login"]);
return false;
}
}
И это isLogin()
функция:
public isLogin (username: string, password: string): Observable<boolean> {
return this.http.post(authURL + loginURL,
JSON.stringify({ password, username }))
.map((response: Response) => {
if (response.status === 200) {
return true;
} else {
return false;
}
});
}
добавить authguard в моем файле маршрута:
{ canActivate: [AuthGuard], component: LaskComponent, path: "table_per" }
И теперь, когда я загружаю эту страницу localhost/table_per
У меня есть эта ошибка: TypeError: Cannot read property 'isLogin' of undefined
. Я действительно понимаю, почему это происходит.
вы не впрыснуть ServerDataComponent ... – Dinistro