如何在Ionic中将Cordova插件与引用TypeScript对象的回调一起使用?

时间:2019-06-13 12:24:22

标签: javascript typescript cordova ionic-framework

我对TypeScript,Ionic和Cordova都很陌生。

在我的Ionic 4应用程序中,我尝试使用没有Ionic包装器的插件(sockets-for-cordova,https://github.com/blocshop/sockets-for-cordova)通过telnet发送一些数据包。 因此,我安装了Cordova插件,然后实例化了页面构造函数中的对象(暂时):

constructor(public navCtrl: NavController, 
    ...) 
{ 
    ....
    if (typeof Socket === 'function') {
      this.socket = new Socket();
      this.socket.onData = this.socketOnData;
      this.socket.onClose = this.socketOnClose;
      this.ensureSocketOpen();
    }
    ...
}

问题是.onData和.onClose回调:套接字的事件绑定到它们很好,但是一旦从套接字调用它们,它们就不再知道该对象,例如,如果socketOnData()具有像

this.SomeService.CallSomeMethod(..)

无法正确解析(this.SomeService未定义)。我的理解是,this在通过Socket的回调函数调用时会变成代码中的其他内容。

我显然不知道我在这里做什么,有人可以向我解释发生了什么吗?

编辑:现在,我知道了答案,并且可以理解,这与TypeScript / Javascript有关,而不是与Ionic与Cordova的交互作用更多,因此我可以看到这将是一个重复的问题。也许为了像我这样的其他人而努力使这些人彼此之间玩得很好,把它保留在这里会很有用。

0 个答案:

没有答案