如何在typescript

时间:2016-12-17 21:19:15

标签: typescript ionic2 cordova-plugins rxjs

我想在TypeScript上将any转换为方法签名。

我正在使用RxJs和一个有事件的cordova插件。这个事件有一个“任意”的签名,所以当我用“bindCallback”绑定它时,我不能放置我的参数。

以下代码有效,但工作时没有可观察的模式:

this.map.on((<any>window).plugin.google.maps.event.CAMERA_CHANGE, () => {
try {
  console.log('it works!!');
} catch(err) {
  console.log(err);
}

我认为可观察的模式会是这样的:

let eventAsObservable = Rx.Observable.bindCallback(this.map.on);
let result = eventAsObservable((<any>window).plugin.google.maps.event.CAMERA_CHANGE);
result.subscribe(x => console.log('don't work --> ' + JSON.stringify(x)));

我的问题是“eventAsObservable”不接受参数。我认为这是因为“this.map.on”被标记为any。

所以,如果我可以将“any”转换为接受数字或字符串参数签名的方法,那就太棒了。

我怎样才能解决它?

非常感谢

1 个答案:

答案 0 :(得分:0)

Changin这个

let eventAsObservable = Rx.Observable.bindCallback(<(a: number) => any>this.map.on);

到此

android:gravity="center"

为我工作