由于切换到最新版本的Angular 2(即github,master),所以我收到了关于我所有组件的警告:
NgModule DynamicModule uses HomeComponent via “entryComponents” but it
was neither declared nor imported! This warning will become an error
after final.
除了HomeComponent之外,我收到与我所有组件相同的错误消息。
任何人都可以提供有关这些信息?
这也引起了我的兴趣。 RC5中的重大变化与路由和引导的方式相当依赖于app.module.ts和@NgModule装饰器。文档已更新:
https://angular.io/docs/ts/latest/和更新日志:
https://github.com/angular/angular/blob/master/CHANGELOG.md
路由文件的主要更改是导入和导出语句的更改。下面说明一个简单的例子,它有两个组件:AppComponent和HomeComponent,它们可以从index.html提供HomeComponent:
文件:app.routing.ts
import { Routes,RouterModule } from '@angular/router'; import { HomeComponent } from './home.component'; const appRoutes: Routes = [ { path: '',redirectTo: '/home',pathMatch: 'full' },{ path: 'home',component: HomeComponent } ]; export const routing = RouterModule.forRoot(appRoutes);`
然后您需要使用一个NgModule文件:
文件:app.module.ts
import { NgModule } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import { AppComponent } from './app.component'; import { HomeComponent } from './home.component'; import { routing } from './app.routing'; @NgModule({ imports: [ BrowserModule,routing ],declarations: [ AppComponent,HomeComponent ],bootstrap: [ AppComponent ] }) export class AppModule { }
然后,您需要使用它将AppModule拉入main.ts和bootstrap。
文件:main.ts
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; import { AppModule } from './app.module'; platformBrowserDynamic().bootstrapModule(AppModule);`
此模式不会产生控制台警告消息。