6
我一直在阅读Angular教程,并且在通过HTTP部分https://angular.io/docs/ts/latest/tutorial/toh-pt6.html并且注意到在NgModule中声明的导入顺序会影响应用程序是否工作。我想知道这是为什么。为什么NgModule进口的顺序很重要?
尤其是这个工程:
@NgModule({ imports: [ BrowserModule, FormsModule, HttpModule, InMemoryWebApiModule.forRoot(InMemoryDataService), AppRoutingModule ], ... })
但下面却没有。英雄列表不会被加载。需要注意的是,HTTP模块声明的InMemoryWebApiModule AFTER:
@NgModule({ imports: [ BrowserModule, FormsModule, InMemoryWebApiModule.forRoot(InMemoryDataService), HttpModule, AppRoutingModule ], ... })
本教程采用了棱角分明2.4.4。我已经注意到Firefox和IE中的问题。我没有在我的谷歌搜索中发现任何可能表明问题根源的信息。
感谢这有助于。我在InMemoryWebApi的自述文件中发现了这一点:“在HttpModule之后总是导入InMemoryWebApiModule,以确保InMemoryWebApiModule的XHRBackend提供程序取代所有其他内容。”这基本上就是你说的。 – hashpyrit
导入顺序也很重要,我注意到如果我将AppRoutingModule放在一个自定义模块之后,它会将该自定义模块作为第一页加载,而不是在AppRoutingModule中定义的那个 – albanx