gModuleの中のentryComponentsは何ですか?


gModuleの中のentryComponentsは何ですか?
ionic 3教程(一)インストールと配置は2に依存するIonic 3アプリケーションを研究しています.新しいゲーム紹介を取り入れました.私は今アプリ.module.tsを追加しています.下の方
import { NgModule } from '@angular/core';
import { IonicApp, IonicModule } from 'ionic-angular';
import { MyApp } from './app.component';
import { Users } from '../pages/users/users';

@NgModule({
  declarations: [
    MyApp,
    Users
  ],
  imports: [
    IonicModule.forRoot(MyApp)
  ],
  bootstrap: [IonicApp],
  entryComponents: [
    MyApp,
    Users
  ]
})
export class AppModule {}
ntryComponentsはここで何をしますか?entryComponentsここで何をしていますか?コンポーネントは宣言で定義されています.何を繰り返すべきですか?もし私がここにコンポーネントを含まないと、何が起こりますか?アングラーは、entryComponentsを使用して、「ツリー振動」を有効にします.つまり、プロジェクトで実際に使用されているコンポーネントだけをコンパイルします.
これはVieContinerRef.create Component()で追加された動的に追加されたコンポーネントです.これらをentryComponentsに追加して、オフラインのテンプレートコンパイラにコンパイルして、それらのために工場を作ります.
ルート構成に登録されたコンポーネントも自動的にentryComponentsに追加されます.router-outletもView ContinerRef.create Component()を使ってDOMにルートコンポーネントを追加します.
オフラインテンプレートコンパイラ(OTC)は、実際に使用されるコンポーネントのみを生成します.コンポーネントが直接テンプレートに使われていない場合、OTCはコンパイルが必要かどうかを知りません.entryComponentsがあります.これらのコンポーネントはOTCにもコンパイルされています.運行時に使えます.
入り口のセットは何ですか?(angglar.io)
NgModule文書(anglar.io)
このコンポーネントを定義する時にコンパイルすべきコンポーネントを定義します.ここにリストされている各コンポーネントに対して、アングラーはComponentFactoryを作成し、ComponentFactoryResolaverに格納します.もしあなたがentryComponentsに動的に追加されたコンポーネントをリストしなかったら、アングラーが作成されていないため、エラーメッセージが得られます.
他見https://angular.io/docs/ts/la...
アングラー文書よりも優れた説明が得られません.角度ドキュメントの説明は以下の通りです.
エントランスコンポーネントは、タイプによって強制的にロードされる任意のコンポーネントです.その選択によって宣言されたようにロードされたコンポーネントは、入口のコンポーネントではありません.
ほとんどのアプリケーションコンポーネントは声明式でロードされています.アングラーはコンポーネントの選択を使用してテンプレートの要素を特定します.次にコンポーネントのHTML表示を作成し、選択した要素のDOMに挿入します.これらはエントリコンポーネントではありません.ガイドのルートAppComponentは入り口のセットです.確かに、その選択はindex.htmlの要素マークにマッチします.しかし、index.はコンポーネントテンプレートではなく、AppComponentセレクタはどのコンポーネントテンプレートの要素にもマッチしません.
AppComponentを動的にロードします.それは@NgModule.bootstrapの中のタイプによってリストされたものです.あるいはモジュールのngDoBootstrap方法によって強制的にロードされます.
ルート定義のコンポーネントもエントリコンポーネントです.パス定義とは、その種類のコンポーネントのことです.ルータは、ルーティング・コンポーネントの選択を無視し(もし1つがあれば)、コンポーネントをRouterOutletに動的にロードする.コンパイラは、他のコンポーネントテンプレートでこれらのエントリコンポーネントを検索することによって、これらのエントリコンポーネントを見つけることができません.それらをentryComponentsリストに追加することによって教えなければなりません.
アングラーは自動的に次のタイプのコンポーネントをモジュールのentryComponentsに追加します.
@NgModule.bootstrapリストのコンポーネントです.ルータ配置で参照されるコンポーネント.これらのコンポーネントについて明確に言及する必要はありません.無害ですが.
転送ゲート:myBlog entry Components