【发布时间】:2018-04-03 02:05:09
【问题描述】:
我有一个Popover,我希望我的应用根据所选项目的行为有所不同。 为了实现这一点,我遵循了Ionic Doc。
Error: Uncaught (in promise): Error: No provider for ViewController!
所以如果我将 ViewController 添加到 app.module.ts 我会收到以下错误:
Uncaught Error: Can't resolve all parameters for ViewController: (?, ?, ?)
问题:如何正确导入ViewController?
popover 组件:
import { Component } from '@angular/core';
import { ViewController } from 'ionic-angular';
@Component({
selector: 'popover',
templateUrl: 'popover.html'
})
export class PopoverComponent {
popoverItemList = [{name: 'Event erstellen'}, {name: 'Event Übersicht'}];
selectedTitle: string;
constructor(private viewCtrl: ViewController) {
this.selectedTitle = "";
}
setSelectedTitle(selectedItem) {
this.selectedTitle = selectedItem;
this.viewCtrl.dismiss(this.selectedTitle);
}
}
我这样称呼弹出框:
presentPopover(ev) {
let popover = this.popoverCtrl.create(PopoverComponent, {
});
popover.present({
ev: ev
});
popover.onDidDismiss((popoverData) => {
if(popoverData === 'Event erstellen') {
this.navCtrl.push(CreateEventPage, {
});
} else if(popoverData === 'Event Übersicht') {
this.navCtrl.push(EventlistPage, {
});
}
})
【问题讨论】:
-
你需要在stackblitz.com上模拟一下
-
你在使用延迟加载吗?
PopoverComponent声明了哪个模块? -
您是否在您的
app.module中导入了IonicModule?
标签: angular typescript ionic-framework ionic2 ionic3