アプリケーション用に を作成しようとしてspec.ts
います。悲しいことに、これは のLoadingControllerを使用していionic-angular
ます。ここで、モジュールを構成しようとしているときに、LoadingController を提供する必要があります (モジュールのコンストラクターにあるため)。
私が現在直面している問題は、LoadingController にApp
オブジェクト/インスタンスを提供したいということです。(_app: App
パラメータ)
必死だったのでIonic自身に聞いてみました。ギットハブ #8539
しかし、それは問題ではなく質問だったので、彼らは私の質問を閉じました. これが不可能な場合や方法がわからない場合は残念です。これは非常に優れた機能であり、LoadingController だけでなく、AlertController と ToastController も影響を受けるためです。
私のテストベッド構成atm:
TestBed.configureTestingModule({
declarations: [EventsPage],
schemas: [CUSTOM_ELEMENTS_SCHEMA],
providers: [
{provide: APICaller, useValue: mockAPICaller},
{provide: NavController, useValue: mockNavController },
{provide: LoadingController, useValue: ???????}, //it seems like everything I try to enter here fails.
],
imports: [FormsModule]
});
そして EventsPage コンストラクター:
constructor(public apiCaller: APICaller, public navCtrl: NavController,
public loadingCtrl: LoadingController){}
編集: LoadingController の使用
getEvents() {
// setup a loadingscreen
let loading = this.loadingCtrl.create({
content: "Loading..."
});
// present the loadingscreen
loading.present();
// reset the noEvents boolean.
this.noEvents = true;
// call the api and get all events
this.apiCaller.getEvents()
.subscribe(response => {
// response is list of events
this.events = response;
// if the event is not empty, set noEvents to false.
if (this.events.length > 0) {
this.noEvents = false;
}
// close the loading message.
loading.dismiss();
});
}
次に、このloadingspinnerになります(テキストが異なります)