Ionic TypeError:b未定义

时间:2016-11-15 12:09:31

标签: ionic2

我有一个Ionic2应用程序,它刚刚停止工作(不确定原因)。

以下命令:

ionic serve

构建应用程序时没有错误,但当http://localhost:8100/加载到浏览器中时,我得到:

TypeError: b is undefined

为了调试这个,我尝试将console.log放在app.ts构造函数的顶部,但是没有打印出来。

有没有人有任何错误的想法,或者我应该尝试诊断这个?

由于

更新

我一直在做一些调试,我发现这与我认为的变量的继承有关。

我有以下代码:

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;
}

如您所见,popoverController对象通过构造函数传递给父SearchSubParentPage

如果我在SearchSubParentPage中有以下代码行,则会收到错误:

this.popover = this.popoverController.create(SearchJobsPopOverPage, {...

如果我发表评论,它就有效。所以这表明我将popoverController传递给父母的方式有问题(我对nav对象也有同样的问题。)

如果我console.log this.popoverControllerthis.nav,它们似乎没问题(即未定义或为空)。

1 个答案:

答案 0 :(得分:0)

如果我将对象设为公开,则可行,但不确定原因。

变化:

private popoverController: PopoverController = null;

为:

public popoverController: PopoverController = null;