我正在使用ES5编写Angular 2,在我的一个组件中我有这个JavaScript代码:
app.user = ng.core.Component({
selector: 'user',
templateUrl: '/html/account/user'
}).Class({
constructor: function () {
this.getUserInfo();
},
getUserInfo: function () {
this.progress = true;
this.user = app.http.get('/accountsUser/info', {withCredentials: true}).toPromise().then(function (response) {
console.log(response);
this.progress = false;
});
}
});
但是,在我的then函数中,我无法访问此属性,因为它未定义。 在Angular 1中,我们将在整个控制器声明函数中使用$ scope作为全局变量。在我们的Class定义对象中,我们不能在回调中使用全局变量。我该怎么办?
答案 0 :(得分:1)
使用(response)=>
this.user = app.http.get('/accountsUser/info', {withCredentials: true}).toPromise()
.then( (response)=> {
console.log(response);
this.progress = false;
});
所以它看起来像
compile files('libs/httpclient-4.2.1.jar')
compile 'org.apache.httpcomponents:httpclient:4.5'
compile group: 'org.apache.httpcomponents' , name: 'httpclient-android' , version: '4.3.5.1'