import {Component, OnInit} from '@angular/core';
import {LoginService} from "../../services/login.service";
import {LoginUser} from "../../services/model";
@Component({
selector: 'login-component',
templateUrl: './login.component.html',
styleUrls: ['./login.component.css']
})
export class LoginComponent implements OnInit {
private user: LoginUser = new LoginUser();
public flag : boolean = false;
constructor(private loginService: LoginService) {}
login(): void {
this.flag = true;
this.loginService.login(this.user).then(function (response) {
console.log(this.flag);
});
}
}
我無法在登錄服務調用的響應中訪問或分配變量值。但是,我可以在登錄方法中將其更新爲true。 我在登錄服務中也面臨同樣的問題。如何在angular4中的同一類中聲明的服務響應中訪問變量?
我們不能用ES6並結合共同發揮作用。我們也可以使用綁定函數來解決它。雖然,通過使用下面的方式。 login():void { this.flag = true; (this.user).then(function(){ console.log(this.flag); } .bind(this)); } – Darpan
瞭解。不需要使用bind(this)。 Angular使用打字稿。 @CozyAzure已經回答了。更新了我的答案。 – 2017-07-20 05:09:16