私はangular2にはかなり新しいですが、ログインコンポーネントを作成しようとしました。ログインが成功した後は、セッションサービス(ユーザー名とパスワードを保存して基本認証ヘッダーを作成する)にユーザー名とパスワードを設定したい場合を除いて、すべて正常に動作します。残念ながらthis._session.loggedIn
は決して設定されません。誰かアイデアなぜ?Angular2の変数はサブスクリプションでは動作しません
export class LoginComponent {
public email = '';
public password = '';
constructor(
private _router: Router,
private _auth: AuthenticationService,
private _session: SessionService) {
}
login() {
this._auth.login(this.email, this.password)
.subscribe(
data => {
this._session.currentProfile = data;
this._session.loggedIn = true;
this._router.navigate(['Home']);
},
err => {}
);
}
}
AuthenticationService:サーバーからの応答が到着したとき、または
login(email, password){
return this._http.get('/profile')
.map(res => res.json());
}
login()メソッドとは何ですか?それはいつ呼び出されるべきですか?購読すると、イベントを動的にディスパッチしません。 –
@KamilMyśliwiecログイン方法を追加しました。ちょうど簡単なhttpを取得します。それはボタンを押したときに呼び出されます。唯一の問題は、サブスクライブコールバックでは、データがセッションサービス – perotom