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