首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >声明和entryComponents之间的区别是什么

声明和entryComponents之间的区别是什么
EN

Stack Overflow用户
提问于 2017-05-06 10:15:04
回答 1查看 43.1K关注 0票数 75

我的app.module.ts中有以下内容:

import { BrowserModule } from '@angular/platform-browser';
import { ErrorHandler, NgModule } from '@angular/core';
import { HttpModule, Http } from '@angular/http';
import { IonicApp, IonicErrorHandler, IonicModule } from 'ionic-angular';
import { EliteApi } from '../shared/shared';
import { MyApp } from './app.component';
import { MyTeams, Tournaments, TeamDetails, Teams, TeamHome, Standings } from '../pages/pages';

import { StatusBar } from '@ionic-native/status-bar';
import { SplashScreen } from '@ionic-native/splash-screen';

@NgModule({
    declarations: [
        MyApp,
        MyTeams,
        TeamDetails,
        Tournaments,
        Teams,
        TeamHome,
        Standings
    ],
    imports: [
        BrowserModule,
        IonicModule.forRoot(MyApp),
        HttpModule
    ],
    bootstrap: [IonicApp],
    entryComponents: [
        MyApp,
        MyTeams,
        TeamDetails,
        Tournaments,
        Teams,
        TeamHome,
        Standings
    ],
    providers: [
        HttpModule,
        StatusBar,
        SplashScreen,
        { provide: ErrorHandler, useClass: IonicErrorHandler },        
        EliteApi
    ]
})
export class AppModule { }

目前,我的declarationsentryComponents是完全一样的。它们包含我为我的应用程序构建的所有页面/组件。如果我从任何属性中删除任何条目,我会在angular2中得到错误。

我的问题是,如果它们总是相同的,那么这些属性还有什么必要呢?我想我肯定在这里漏掉了一些要点。什么时候entryComponents和声明操作会有所不同?

EN

回答 1

Stack Overflow用户

发布于 2019-09-19 21:54:05

入口组件是任何强制角度加载的组件,这意味着您不会按类型在模板中引用它。例如:

@Component({
  selector: 'app-entry-component', // <== component select tags
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppEntryComponent {
  // <== Component Class
}

将此选择器添加到正在使用的组件中

<app-entry-component></app-entry-component>

在appmodule中添加此组件

const routes: Routes = [
  {
    path: '',
    component: ComponentClassName,
    children: []
  }
]

最后

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    ...
  ],
  providers: [],
  bootstrap: [AppComponent],
  entryComponents: [
    AppEntryComponent
  ]
})
export class AppModule { }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43815995

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档