3
我正在構建一個Ionic 3應用程序(使用Angular 4)。我創建了一個LocationProvider,它允許我從實際的頁面邏輯中提取位置服務,以便它可以重用。有沒有辦法在Angular4中鏈接@Injectable()4
我的LocationProvider使用@ ionic-native/geolocation(地理定位提供程序)。
當我通過@NgModule({ providers: [LocationProvider] })
將我的LocationProvider注入頁面時,出現錯誤,說明找不到地理定位提供程序。每當使用LocationProvider時,是否有任何方法可以包含地理位置提供程序?或者我需要始終擁有providers:[LocationProvider, Geolocation]
?
我猜這不是Ionic特定的(但是Angular 4),有沒有什麼辦法需要在NgModule
中列出兩個提供商?
當你說「提供者也可以被包裝......」時,你的意思是出口'@NMModule({providers:[LocationProvider,Geolocation]})'?然後通過'@NgModule({imports:[LocationProviderModule]})'導入'?我是否需要擔心導致地理位置導入10次或什麼? – Matt
這是正確的。除非你正在處理懶惰的加載模塊,否則你無需擔心。所有常規模塊共享相同的噴油器請參閱https://stackoverflow.com/questions/39031284/angular-2-injector-hierarchy-and-ngmodule以供參考。 – estus
這很有道理。那麼我需要擔心由子注射器存儲的值與主注射器不同嗎? (在ng4上找不到這個東西,只是看起來是在尋找原始的ng1東西) – Matt