Angular-Ionic-ポップオーバー、コンポーネントインジェクションエラーを作成できません

ジュリアンメトロ

Ionic Framework v3を使用してポップオーバーを表示しようとしています。リストコンポーネントを含むイオンページがあります。このリストには、ポップオーバーを表示するボタンがあります。そのため、親ページでポップオーバーコンポーネントを宣言し、リストにイベントエミッターを作成して、親にトグル情報を送信します。

しかし、私は与えられたエラーを持っています:

No component factory found for PopoverComponent. Did you add it to @NgModule.entryComponents?

ページモジュールのコード:

@NgModule({
    declarations: [
        PopoverComponent
    ],
    imports: [
        IonicPageModule.forChild(MyCustomPage),
    ],
    entryComponents: [
        PopoverComponent
    ]
})
export class MyCustomModule {}

ページのコード:

@Component({
    selector: 'my-custom-page',
    templateUrl: 'my-custom-page.html'
})
export class MyCustomPage {

    public constructor(public popoverCtrl: PopoverController) { }

    public toggleFilters() {
        const popover = this.popoverCtrl.create(PopoverComponent);
        popover.present();
    }
}

ページのテンプレート:

<my-custom-list (onFilterToggle)="toggleFilters()"></my-custom-list>

コンポーネントリスト:

 @Component({
    selector: 'my-custom-list',
    templateUrl: 'my-custom-list.component.html'
 })
 export class MyCustomListComponent {

     @Output() onFilterToggle: EventEmitter<void> = new EventEmitter<void>();
     public showFilters() {
         this.onFilterToggle.emit();
     }
 }

コンポーネントテンプレート:

 <button (click)="showFilters()">Test</button>

ポップオーバーコード:

@Component({
    selector: 'my-popover',
    template: '<p>Test</p>'
})
export class PopoverComponent {

    constructor(public viewCtrl: ViewController) {}

    close() {
        this.viewCtrl.dismiss();
    } 
}

すべてのページにロードされている共有モジュールがあります。ここに追加しようとしましたが、それでも同じエラーが発生しました。リストコンポーネント、アプリモジュール、さらにはentryComponentsに追加しようとしました。同じエラー。

誰かがアイデアを持っている場合。

ジュリアンメトロ

そこで、解決策を見つけました。ポップオーバーコンポーネントにIonicPageデコレータを追加するだけです。コンポーネントを宣言するモジュールを作成し、宣言とエントリコンポーネントを削除します。モジュールを別のモジュールにロードしないでください。Ionicがロードします。したがって、ポップオーバーのコードは次のようになります。

@IonicPage({
    name: 'my-popover'
})
@Component({
    selector: 'my-popover',
    template: '<p>Test</p>'
})
export class PopoverComponent {

    constructor(public viewCtrl: ViewController) {}

    close() {
        this.viewCtrl.dismiss();
    } 
}

モジュールは次のようになります:

import {NgModule} from '@angular/core';
import {TranslateModule} from '@ngx-translate/core';
import {IonicPageModule} from 'ionic-angular';
import {PopoverComponent} from './components';

@NgModule({
    declarations: [
        PopoverComponent
    ],
    imports: [
        IonicPageModule.forChild(PopoverComponent)
    ],
    exports: [
        PopoverComponent
    ]
})
export class MyPopoverModule {}

ポップオーバーを呼び出すには、次のようなページの名前を使用します。

this.popoverCtrl.create('my-popover');

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Ionic-AngularプロジェクトにAnimeJSをインポートできません

分類Dev

コンポーネントをページにロードできません-Angular4 / Ionic 3

分類Dev

Ionic 4 / Angular 7アプリは*ランダムに*コンポーネントの一部をレンダリングしません(Androidビルド)

分類Dev

Jest / Ionic4ベータ版-'@ ionic / angular'から{プラットフォーム}をインポートします。SyntaxErrorを取得:IonicではなくJestテストで予期しないトークンのエクスポート

分類Dev

Angular 4/Ionic3プロダクションビルドがコンポーネントのクラス名を変更

分類Dev

エラー:StencilJSでIonic4コンポーネントのクローンを作成するときに「モジュールが見つかりません」

分類Dev

Ionic 4 + Angular FingerprintAIOはサポートされているプラグインではありませんか?

分類Dev

Ionic 4ポップオーバーの実装エラー:ProfileComponentのコンポーネントファクトリが見つかりません

分類Dev

Angularバージョン4で新しいIonic3プロジェクトを開始します

分類Dev

Angularバージョン4で新しいIonic3プロジェクトを開始します

分類Dev

100%コンポーネントベースのAngular / Ionicアプリ開発

分類Dev

Angular2 / Ionic2 ::コンポーネントをリロード

分類Dev

IonicアプリとAngularアプリ間の共有コンポーネント

分類Dev

Ionic3とAngular4で再利用可能なコンポーネントを作成する方法

分類Dev

Ionic / Angular2コンポーネントイベントエミッターがビューを更新しない

分類Dev

Ionic 4-Angular 6:Ionicルーターの履歴を制御してビューコンポーネントのキャッシュを停止する方法は?

分類Dev

Angular 6:異なるコンポーネントのJSONオブジェクトから個々のデータをフェッチできません

分類Dev

Angular1.5コンポーネントのルートスコープにバインドできません

分類Dev

Ionic4プロジェクトでAngularバージョンを8に更新する方法

分類Dev

別のangular-cliプロジェクトでコンポーネントのデフォルトのsass変数をオーバーライドします

分類Dev

コンポーネントで Angular 2 プロバイダーにアクセスできません

分類Dev

Ionic2 / Angular2:コンポーネントから中央サービスへのソースナビゲーションメソッド

分類Dev

バージョンをIonic4にアップグレードすると、モジュール 'ionic-angular'.tsが見つかりません

分類Dev

コンポーネントIonic3 / Angular5内でSass変数を動的に変更します

分類Dev

Angular-CLIはプロジェクトライブラリにコンポーネントを作成します

分類Dev

AngularコンポーネントサービスインジェクションはWebpackでは機能しません

分類Dev

ionicまたはAngular0rWebコンポーネントデータグリッド

分類Dev

プロジェクトをAndroidStudioにインポートした後、Androidアプリ(Ionicフレームワークで作成)をビルドできません

分類Dev

ngserveを使用して実行するときにAngular6プロジェクトでionic4コンポーネントを使用するにはどうすればよいですか

Related 関連記事

  1. 1

    Ionic-AngularプロジェクトにAnimeJSをインポートできません

  2. 2

    コンポーネントをページにロードできません-Angular4 / Ionic 3

  3. 3

    Ionic 4 / Angular 7アプリは*ランダムに*コンポーネントの一部をレンダリングしません(Androidビルド)

  4. 4

    Jest / Ionic4ベータ版-'@ ionic / angular'から{プラットフォーム}をインポートします。SyntaxErrorを取得:IonicではなくJestテストで予期しないトークンのエクスポート

  5. 5

    Angular 4/Ionic3プロダクションビルドがコンポーネントのクラス名を変更

  6. 6

    エラー:StencilJSでIonic4コンポーネントのクローンを作成するときに「モジュールが見つかりません」

  7. 7

    Ionic 4 + Angular FingerprintAIOはサポートされているプラグインではありませんか?

  8. 8

    Ionic 4ポップオーバーの実装エラー:ProfileComponentのコンポーネントファクトリが見つかりません

  9. 9

    Angularバージョン4で新しいIonic3プロジェクトを開始します

  10. 10

    Angularバージョン4で新しいIonic3プロジェクトを開始します

  11. 11

    100%コンポーネントベースのAngular / Ionicアプリ開発

  12. 12

    Angular2 / Ionic2 ::コンポーネントをリロード

  13. 13

    IonicアプリとAngularアプリ間の共有コンポーネント

  14. 14

    Ionic3とAngular4で再利用可能なコンポーネントを作成する方法

  15. 15

    Ionic / Angular2コンポーネントイベントエミッターがビューを更新しない

  16. 16

    Ionic 4-Angular 6:Ionicルーターの履歴を制御してビューコンポーネントのキャッシュを停止する方法は?

  17. 17

    Angular 6:異なるコンポーネントのJSONオブジェクトから個々のデータをフェッチできません

  18. 18

    Angular1.5コンポーネントのルートスコープにバインドできません

  19. 19

    Ionic4プロジェクトでAngularバージョンを8に更新する方法

  20. 20

    別のangular-cliプロジェクトでコンポーネントのデフォルトのsass変数をオーバーライドします

  21. 21

    コンポーネントで Angular 2 プロバイダーにアクセスできません

  22. 22

    Ionic2 / Angular2:コンポーネントから中央サービスへのソースナビゲーションメソッド

  23. 23

    バージョンをIonic4にアップグレードすると、モジュール 'ionic-angular'.tsが見つかりません

  24. 24

    コンポーネントIonic3 / Angular5内でSass変数を動的に変更します

  25. 25

    Angular-CLIはプロジェクトライブラリにコンポーネントを作成します

  26. 26

    AngularコンポーネントサービスインジェクションはWebpackでは機能しません

  27. 27

    ionicまたはAngular0rWebコンポーネントデータグリッド

  28. 28

    プロジェクトをAndroidStudioにインポートした後、Androidアプリ(Ionicフレームワークで作成)をビルドできません

  29. 29

    ngserveを使用して実行するときにAngular6プロジェクトでionic4コンポーネントを使用するにはどうすればよいですか

ホットタグ

アーカイブ