가 나는 상기 방법Angular2 첫 번째 응답은 요청
onLogin() {
this._service.postData().map(res => res.json()).subscribe(
data => { this.loggedin = data },
err => { console.log(err); }
);
console.log(this.loggedin);
}
문제가 처음에에게 호출 다른 성분으로부터 그 다음 POST 요청
postData(){
var headers = new Headers();
headers.append('Content-Type', 'application/json');
var json = JSON.stringify({email: 'Admin', password: 'Admin'});
return this._http.post('http://localhost:8080/addressbook_rest/api/v1/contacts/login', json ,
{headers: headers});
}
하게하는 간단한 방법이 정의되지 게시 할 이 this.loggedin 변수는 정의되지 않았지만 그 후에는 원하는 것을 얻습니다 (this.loggedin = true). 왜 두 번째 시간부터 만 가져올 지 모르겠습니다.
하지만 IF에서 POST 후 this.loggedin이 필요합니다. 거기에있는 this.logged의 가치를 가지려면 어떻게해야합니까? 만약 (! this.loggedin) {this.errorMsg = '로그인 실패';} – mlhack
첫 번째 문제를 해결하기 위해'loggedIn' 속성을'false'로 초기화 할 수 있습니다. 그렇지 않으면 응용 프로그램을 비동기 적으로 생각해야합니다. 나는 당신의 코드를 정확히 모르지만 다음과 같은 것을 보게 될 것이다 :'this._service.login (this.user) .subscribe (loggedIn => {if (! loggedIn) {this.errorMsg = '로그인 실패' ;}}); '내가 무슨 뜻인지 알아? –