我正在尝试spec.ts
为我的应用程序创建一个。可悲的是,这是使用来自ionic-angular
. 现在,当我尝试配置模块时,我需要为其提供 LoadingController(因为它位于模块的构造函数中)。
我目前遇到的问题是 LoadingController 想要提供一个App
对象/实例。(_app: App
参数)
我很绝望,所以我问离子自己。github #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 (使用不同的文本)