2016-09-28 56 views
1

哪些注射器/提供者可用於路線衛兵?DI層級中的路線警衛在哪裏?

例如:一個路由守衛可以使用僅爲某個組件提供的服務嗎?

在我看來,只有模塊級提供者可以訪問路由守衛,但我無法從源代碼確認。

回答

1

Angular2.0每個都被包裝在模塊服務應在的AppModule水平featureModule水平SharedModule水平(內@NgModule裝飾裝置)被注入。

所以你必須確保你在@NgModule裝飾器中的某處注入它。然後根據該範圍NgModule,您將可以使用您的服務例如。在canActivate

+0

誰降低了這個,我可以解釋一下嗎?你能告訴我其他(最好)的方式來使用它嗎? – micronyks

+0

所以你在說模塊級的路由衛士必須有服務提供者? –

+1

是的,如果你想在任何地方使用服務,它必須在Module lev注入,正如答案中所述... – micronyks