Ionic 4を使用しており、ModalControllerを使用してモーダルを使用しようとしています。Ionic 3.xはかなり簡単でしたが、数字を取得していますIonic 4:
モーダルを起動しようとしているページ:
import { Component, OnInit } from '@angular/core';
import { NavController, NavParams, ModalController } from '@ionic/angular';
import { MyModalPage } from '../MyModalPage/MyModalPage.page';
@Component({
selector: 'app-product-display',
templateUrl: './product-display.page.html',
styleUrls: ['./product-display.page.scss'],
})
export class ProductDisplayPage implements OnInit {
private params:any = {};
public product:product = {};
constructor(
public modalCtrl : ModalController
) {
}//End of Constructor
ngOnInit() {
}
async openModal()
{
var data = { message : 'hello world' };
const modalPage = await this.modalCtrl.create({
component: MyModalPage,
componentProps:{values: data}
});
return await modalPage.present();
}
}
私のモーダルページ:
import { Component, OnInit } from '@angular/core';
import { NavController } from '@ionic/angular';
@Component({
selector: 'app-my-modal',
templateUrl: './my-modal.html',
styleUrls: ['./my-modal.page.scss'],
})
export class MyModalPage implements OnInit {
constructor(
) { }//End of Constructor
ngOnInit() {
}//End of ngOnInit
closeModal()
{
//TODO: Implement Close Modal this.viewCtrl.dismiss();
}
}//End of Class
エントリコンポーネントに含まれていない可能性があることを示すエラーが表示されます。
エラーエラー:キャッチされません(約束):エラー:MyModalPageのコンポーネントファクトリが見つかりません。 @ NgModule.entryComponentsに追加しましたか?エラー:MyModalPageのコンポーネントファクトリが見つかりません。 @ NgModule.entryComponentsに追加しましたか?
製品表示モジュールのエントリコンポーネントに追加すると、インポートされていないことを示す別のエラーが表示されます。 Product Display Moduleのインポートに追加すると、次のようになります。
core.js:1671エラーエラー:キャッチされません(約束):エラー:モジュール 'ProductDisplayPageModule'によってインポートされた予期しないディレクティブ 'MyModalPage'。 @NgModuleアノテーションを追加してください。エラー:モジュール 'ProductDisplayPageModule'によってインポートされた予期しないディレクティブ 'MyModalPage'。 @NgModuleアノテーションを追加してください。
モーダルコントローラを使用して、Ionic 4/Angular 6?
ありがとう
残念ながらIonic v4 Modalsはページを遅延ロードできません(ただし、後でこれが可能になると期待しています)。 appモジュールの宣言に追加します。
@NgModule({
declarations: [
AppComponent,
MyModalPage
],
entryComponents: [
MyModalPage
],
...
お役に立てれば!私もこの問題に遭遇したので、ドキュメントはこの点で改善されると確信しています。