在打字稿中调用rest API时遇到错误为“'this'隐式具有类型'any',因为它没有类型注释”

时间:2018-07-17 01:41:54

标签: javascript jquery typescript

我正在使用TypeScript。我试图在如下所示的ViewModel中调用rest API。

export class TestListViewModel {

  public personItems: KnockoutObservableArray<Person>;

  constructor() {
        this.personItems = ko.observableArray([]);

        $.get("https://somerestapi/api/TestLists", 
             function (data: any) {
                 for (var index in data) {
                  this.personItems.push(data[index]);
             } 
        });

  } //end of constructor

} //end of class

在this.personItems.push(data [index])行中,在“ this”处,由于“ this”隐式具有类型“ any”,因为没有类型注释,因此我收到了编译错误

在这里我想在回调函数中访问我的Viewmodel变量。

请帮助我该怎么做。

1 个答案:

答案 0 :(得分:1)

感谢Abrar的帮助。通过使用下面的代码,我能够解决此问题。

$.get("https://somerestapi/api/TestLists", 
             (data: any) => {
                 for (var index in data) {
                    this.personItems.push(data[index]);
                 }
});

但是我现在正面临以下问题,有什么可以帮助我的吗? Not able bind the data to class variables while using success call back of $.get in typescript