我浏览了Angular教程,并且浏览了HTTP部分https://angular.io/docs/ts/latest/tutorial/toh-pt6.html,并注意到在NgModule中声明了导入的顺序在应用程序是否有效方面有所不同。我想知道为什么。
尤其有效:
@NgModule({ 导入:[ BrowserModule, FormsModule, HttpModule, InMemoryWebApiModule.forRoot(InMemoryDataService), AppRoutingModule ], ... })
但是以下内容却没有。英雄列表未加载。请注意,在InMemoryWebApiModule之后,将HttpModule声明为:
@NgModule({ 导入:[ BrowserModule, FormsModule, InMemoryWebApiModule.forRoot(InMemoryDataService), HttpModule, AppRoutingModule ], ... })
本教程使用的是Angular 2.4.4。我已经注意到Firefox和IE中的问题。我在Google搜索中没有发现任何表明问题来源的信息。
提供程序的顺序很重要,对于导出的组件,指令或管道来说,这并不重要,因为冲突会导致错误。
的InMemoryWebApiModule.forRoot(InMemoryDataService),
覆盖Http
,如果HttpModule
在稍后提供,这是压倒一切作废。以后添加的提供者将使用相同的密钥覆盖已注册的提供者。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句