调用外部功能角度2

时间:2016-11-13 12:34:48

标签: facebook-graph-api angular typescript

我的facebook API存在问题,

我想调用一个函数,但我位于Facebook.api函数中,因此我的函数无法识别,因为我封装在Facebook对象中。这是我的代码:

export class MyClass {

constructor(platform:Platform) {
}
function1(number_likes:number) {
        var elem = document.getElementById('number_of_likes');
        elem.innerHTML = ""+number_likes;
   }

query_fan_numbers() {
       var pageId = "81221197163?fields=fan_count";
       Facebook.api(pageId, null)
      .then(function(success) {
         this.function1(parseInt(JSON.stringify(success.fan_count))); //Here's the error
      }
    }

我的错误是这样的:TypeError: Cannot read property 'function1' of null

如何在课堂上调用function1函数?

1 个答案:

答案 0 :(得分:1)

正如@jonrsharpe所说

您可以使用胖箭头:

query_fan_numbers() {
       var pageId = "81221197163?fields=fan_count";
       Facebook.api(pageId, null)
      .then((success)=> {
         this.function1(parseInt(JSON.stringify(success.fan_count))); //Here's the error
      }
    }

或将this存储在变量中以便稍后使用的普通旧javascript技巧。

query_fan_numbers() {
       var that = this;
       var pageId = "81221197163?fields=fan_count";
       Facebook.api(pageId, null)
      .then(function(success) {
         that.function1(parseInt(JSON.stringify(success.fan_count))); //Here's the error
      }
    }