0
私のマシンで新しいCordova Pluginを作成しました。それから私のプロジェクトに追加しました。そのプラグインを呼び出すとうまくいきます。今、私はプラグインのための構造化された呼び出し元を作ろうとしました。私はプロバイダを作成しましたが、問題は私のコントローラクラスからプラグイン関数を呼び出す方法がわかりません。以下は私のサンプルコードです。イオン2:コントローラクラスのプロバイダ機能を呼び出す方法
プロバイダ:私の-service.ts
import { Injectable } from '@angular/core';
import { Http } from '@angular/http';
import 'rxjs/add/operator/map';
declare let myPlugin: any;
@Injectable()
export class MyService {
constructor(public http: Http) {
console.log('Hello MyService Provider');
}
public myFunction() {
myPlugin.myPluginFunction(
(data) => {
return data;
},
(err) => {
return err;
});
}
}
ページ:私の-page.ts
import { Component } from '@angular/core';
import { NavController, ViewController } from 'ionic-angular';
import { MyService } from '../../providers/my-service';
@Component({
selector: 'page-my-page-ionic',
templateUrl: 'hello-ionic.html'
})
export class MyPage {
constructor(private viewCtrl: ViewController, private myService: MyService) {}
ionViewWillEnter() {
//I tried to call like this
this.myService.myFunction().subscribe(
data => {
alert("success");
},
error => {
alert("error");
});
}
}
それは私にこのエラーを返す - Property 'subscribe' does not exist on type 'void'.
を私はどのように知りません私のプロバイダはsuccess
またはerror
を返すので、その関数を呼び出します。
おかげ屋、その作業: )。だから今Observableの使い方を知っている。 –
喜んで助けてください。 :) –