我正在进行api通话,并为结果分配了一个属性。我然后尝试使用此属性修改数据,但我得到一个未定义的错误:
这是我的班级:
sys.argv
@Injectable()
export class DisplayService {
screens: Array<any>;
constructor(public http: Http){
}
getDisplays() {
var path = 'http://localhost:8000/getscreens';
$.ajax({
type: 'GET',
url: path,
success: function(data){
this.screens = data.screens;
}
});
console.log(this.screens);
}
}
按预期工作;但是,当我data.screens
console.log
时,我得到this.screens
。如何存储响应以供以后使用?
答案 0 :(得分:0)
看起来像范围问题...尝试:
@Injectable()
export class DisplayService {
screens: Array<any>;
constructor(public http: Http){
}
getDisplays() {
var path = 'http://localhost:8000/getscreens';
var that = this;
$.ajax({
type: 'GET',
url: path,
success: function(data){
that.screens = data.screens;
}
});
console.log(this.screens);
}
}