1
我有一個用於我的angularfire2身份驗證調用auth.service的服務。在那裏,我想用它來檢查用戶是否登錄,並獲取登錄的用戶對象,以便我可以將它傳遞給組件並在模板中使用。如何獲取用戶詳細信息並檢查用戶是否在angular2組件中登錄
這裏是我的auth.service.ts
import { Injectable } from '@angular/core';
import { AngularFire, AuthProviders, AuthMethods } from 'angularfire2';
@Injectable()
export class AuthService {
user = {};
isLoggedIn: boolean;
constructor(public af: AngularFire) {
this.af.auth.subscribe(user => {
if(user) {
// user logged in
this.user = user;
this.isLoggedIn = true;
console.log(this.user);
}
else {
// user not logged in
this.user = {};
this.isLoggedIn = false;
}
});
}
這一切正常。但我似乎無法獲得組件中isLoggedIn鍵的值。
我試圖調用它的組件作爲這樣
import { AuthService } from '../auth/auth.service';
isLoggedIn: boolean;
constructor(private AuthService : AuthService) {
this.isLoggedIn = this.AuthService.isLoggedIn;
}
我的猜測是不是在做正確的方式。 如何從auth.service中獲取此isLoggedIn值?同樣,獲取用戶對象的更好方法也是如此。
您的服務和組件在同一個模塊中嗎?如果您無法讀取「AuthServce.isLoggedIn」,則可能是因爲Angular DI的層次性。 – Obaid
是的,一切都是我想的一個模塊。我正在使用Angular-CLi –