我的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 { }
目前,我的declarations
和entryComponents
是完全一样的。它们包含我为我的应用程序构建的所有页面/组件。如果我从任何属性中删除任何条目,我会在angular2中得到错误。
我的问题是,如果它们总是相同的,那么这些属性还有什么必要呢?我想我肯定在这里漏掉了一些要点。什么时候entryComponents和声明操作会有所不同?
发布于 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 { }
https://stackoverflow.com/questions/43815995
复制相似问题