Ionic2 - Popover (ИСХОДНОЕ ИСКЛЮЧЕНИЕ: TypeError: невозможно прочитать свойство «создать» неопределенного)

Я получаю следующую ошибку, когда пытаюсь реализовать Popover:

ИСХОДНОЕ ИСКЛЮЧЕНИЕ: TypeError: невозможно прочитать свойство «создать» неопределенного

Вот мой код:

import {Popover, Page, NavController, MenuController, NavParams} from 'ionic-angular';

 @Component({
template: 'This is a popover'
 })

 class MyPopover{}

 export class HomePage {

 constructor(nav, http, navParams) {}

 //PopOver
  showPopover(ev){
     let popover = Popover.create(MyPopover);
     this.nav.present(popover, {
       ev: ev
 })
 }}

Кто-нибудь знает, почему я получаю это? Я считаю, что при импорте Popover возникла проблема, так как я делаю следующее сразу после импорта Popover:

console.log("Popover object : ",{Popover})

Я получаю undefined, так что в основном проблема в этом.


person Hamza L.    schedule 28.06.2016    source источник
comment
Какая у вас сейчас версия Ionic 2? Popover был добавлен совсем недавно. Попробуйте обновиться до последней бета-версии.   -  person Rosdi Kasim    schedule 28.06.2016
comment
Я использую Ionic2 бета 7   -  person Hamza L.    schedule 28.06.2016
comment
Обновите до Beta 10 (последняя на сегодняшний день). Вот примечания к выпуску: github.com/driftyco/ionic/blob/master/ CHANGELOG.md   -  person Rosdi Kasim    schedule 28.06.2016


Ответы (1)


Я думаю, вы пропустили @Component в своем HomePage

@Component({
  template: `This is a popover`
})

export class MyPopover{}


// This @Component declaration was missing in your code
@Component({
  templateUrl:"build/pages/home/home.html"
})
export class HomePage {

  constructor(private nav: NavController) { }       

  //PopOver
  public showPopover(ev){
     let popover = Popover.create(MyPopover);
     this.nav.present(popover, {
       ev: ev
     });    
  }
}

При этом (и, по крайней мере, при использовании бета-версии 9) popover работает правильно. Вы можете поиграть с этим кодом в этом плункере.

person sebaferreras    schedule 28.06.2016