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