2017-04-15 8 views
9

イオン3ページは、IonicPageIonicPageModuleを使用して遅延ロードできます。問題は、これらの遅延読み込みページにパイプへのアクセス権がないことです。イオン3、遅延ロードページ用のパイプ用共有モジュール

Failed to navigate: Template parse errors: 
The pipe 'myPipe' could not be found ("") 

This questionがこの問題を説明し、解決策を提供します。提案されたソリューションの私の唯一の懸念は、すべての遅延読み込みページで共有モジュールpipes.moduleをインポートする必要があることです。

app.module.tsでパイプを1回だけインポートするangulr2に導入された素晴らしい機能を元に戻すのはどのような種類ですか。

共有モジュールpipes.moduleapp.moduleにインポートすると、すべてのパイプがすべてのページに表示されるようになるはずです。ここで

app.module.ts

@NgModule({ 
    declarations: [ 
    MyApp, 
    ], 
    imports: [ 
    BrowserModule, 
    HttpModule, 
    PipesModule, 
    IonicModule.forRoot(MyApp), 
    IonicStorageModule.forRoot() 
    ], 
    bootstrap: [IonicApp], 
    entryComponents: [ 
    MyApp, 

    ], 
    providers: [] 
    }) 
    export class AppModule { } 

は、我々はすべての怠惰な負荷のページへのPipesModuleにアクセスできるようにするには

PipesModule.forRoot(MyApp) 

を使用してはならないのですか?ここで

pipes.moudle.tsファイルです:

@NgModule({ 
    declarations: [ 
     BreakLine, 
     Hashtag, 
     Translator 
    ], 
    imports: [ 

    ], 
    exports: [ 
     BreakLine, 
     Hashtag, 
     Translator 
    ] 
    , 
}) 
export class PipesModule {} 

答えて

3

私はいくつかの研究の後、私はそれが私達がのためにこれを処理することになっている方法であると言うだろう、ちょうどあなたがこれを処理する適切な方法を見つけようとしてのようでした以下。角度faqsから

は、あなたのアプリでどこでも使用 コンポーネント、ディレクティブ、およびパイプとSharedModuleを作成します。このモジュールは、完全に の宣言で構成する必要があります。そのほとんどはエクスポートされています。

インポートあなたの機能モジュールでSharedModule、それらのロード アプリが起動し、それらのあなたの怠惰な負荷の両方後で

はまた、私は、コンポーネントを処理する方法でいくつかの提案を提供し、このイオン3 docを見つけましたパイプとサービス。

+1

私はそのイオン文書を見ました。要点は、どこにでも私の共有モジュールが必要だということです。そのため、他のすべてのコンポーネントから見えるように 'app.module.ts'に一度インポートする必要があります。 –

1

app/pwaの起動時にパイプを読み込む必要がないため、遅延ロードを使用してアプリケーションの読み込みを高速化できるため、個々のページモジュールでパイプモジュールをインポートする新しい方法が優れています。

詳しくはthisの記事をご覧ください。

+0

検索中にこのリンクを使いたいです。私はこれが方法であることを理解しています。どこでも輸入品のコーディングを減らすためのより良い方法があるはずだと私は思っていました。 –

関連する問題