不是應用廣泛依存服務範圍的服務,這個問題是繼續我的最後一個問題 No provider for ObservableDataService應用與引導
所以,我有廣泛的應用服務UploadedTemplatesService
必須是單身。這項服務有一個依賴 - ObservableDataService
和依賴必須爲singletone UploadedTemplatesService
只有一次,但ObservableDataService
可以在其他服務也可以使用,而該服務必須在每個時間上彼此服務新對象注入。
必由之路重要的注意事項 - 我想用UploadedTemplatesService
路線的鉤子裏也一樣,所以我說來引導.then
方法和內部.then
添加appRef.injector內AppInjector
功能。 AppInjector
代碼:
```
export const AppInjector = (injector?: Injector): Injector => {
if (injector) {
appInjectorRef = injector;
}
return appInjectorRef;
};
```
所以在那之後,我能得到UploadedTemplatesService
像Injector.get(UploadedTemplateService)
方式路線鉤內。
所以,我看了看文檔和tryed寫類似
```
bootatrap(AppComponent, [
provide(UploadedTemplatesService, {
useFactory:() => {
return new UploadedTemplatesService(new ObservableDataService());
}
})
])
```
但這些代碼拋出新的錯誤:Cannot read property 'getOptional' of undefined
什麼我做錯了?
沒有,ObservableDataService必須不應用廣泛。只有UploadedTemplateService,它有一個依賴項 - ObservableDataService –
因爲ObservableDataService的每個對象都可以包含他自己的數據。 例如我想創建另一個應用程序範圍的服務BlablablaService,而該服務將自己的數據存儲他的依賴ObservableDataService內。 ObservableDataService - 只是基於rxjs集合 –
好吧,我想我明白你盡力去做。但在這種情況下,ObservableDataService不能參與基於構造函數的dependencyclopédie注入......它似乎是你想要的。你仍然嘗試在你的應用程序的某個地方注入這個服務嗎? –