Ich habe eine Ionic2 App, die gerade nicht mehr funktioniert (nicht sicher warum).Ionic TypeError: b ist undefined
folgenden Befehl ein:
ionic serve
Baut die App ohne Fehler, aber wenn http://localhost:8100/
in den Browser geladen wird, erhalte ich:
TypeError: b is undefined
Um dies zu debuggen Ich habe versucht zu setzen a console.log
an der Spitze app.ts
Konstruktor, aber dies wird nicht gedruckt.
Hat jemand irgendwelche Ideen was falsch ist, oder sollte ich versuchen, dies zu diagnostizieren?
Dank
UPDATE
Ich habe etwas mehr Debugging getan, und ich habe festgestellt, dass dies auf Vererbung einer Variablen denken zusammenhängt ich.
Ich habe den folgenden Code:
search.ts
export class SearchPage extends SearchSubParentPage {
constructor(ref: ChangeDetectorRef, nav: NavController, private viewCtrl: ViewController, jobService: JobService, personService: PersonService, utilityService: UtilityService, navParams: NavParams, popoverController: PopoverController, events: Events, platform: Platform, alertCtrl: AlertController, loadingController: LoadingController) {
super(ref, nav, viewCtrl, jobService, personService, utilityService, navParams, popoverController, events, platform, alertCtrl, loadingController, false, 0);
}
searchSubParent.ts
export class SearchSubParentPage extends SearchParent {
private popoverController: PopoverController = null;
constructor(ref: ChangeDetectorRef, nav: NavController, viewCtrl: ViewController, jobService: JobService, personService: PersonService, utilityService: UtilityService, navParams: NavParams, popoverController: PopoverController, events: Events, platform: Platform, alertCtrl: AlertController, loadingController: LoadingController, favourite: boolean, jobType: number) {
this.popoverController = popoverController;
}
Wie Sie sehen können, das popoverController
Objekt über die übergeben wird Konstruktor zum Eltern SearchSubParentPage
.
Wenn ich die folgende Codezeile in SearchSubParentPage
haben, erhalte ich die Fehlermeldung:
this.popover = this.popoverController.create(SearchJobsPopOverPage, {...
Wenn ich kommentieren Sie sie aus, es funktioniert. Das deutet also darauf hin, dass mit der Art und Weise, wie ich popoverController
an das übergeordnete Objekt übergebe, etwas nicht stimmt (ich habe das gleiche Problem mit dem Objekt nav
).
Wenn I console.log
entweder this.popoverController
oder this.nav
, scheinen sie in Ordnung zu sein (d. H. Nicht undefiniert oder null).
Haben Sie eine var b irgendwo genannt? Könntest du mehr Code zeigen? – nyluje
oder hast du zufällig in deiner Klasse b auf deiner Tastatur gedrückt? – Ivaro18
Ich habe gerade die obige Frage aktualisiert, um mehr Informationen zu haben. Es sieht so aus, als ob es damit zusammenhängt, wie ich ein Objekt durch Vererbung von einem Kind an ein Elternteil weitergebe. Aber ich bin mir nicht sicher, wie ich das beheben soll. – Richard