这是我第一次使用TypeScript。我指的是这里的代码:Geolocation in Angular 2。我想知道如何存储函数返回的坐标。最后它导出一个变量,但由于我对TypeScript缺乏了解,我无法弄清楚如何存储它。
这些评论对我没有帮助。 这也是什么意思?
export var geolocationServiceInjectables: Array<any> = [
provide(GeolocationService, { useClass: GeolocationService })];
答案 0 :(得分:0)
最后导出的变量只是为服务创建提供程序,但由于GeolocationService
已标记为@Injectable()
,因此您可以使用角度DI使服务在任何地方都可用。
在你的应用程序引导程序上使用类似这样的东西:
import { bootstrap } from '@angular/platform-browser-dynamic'
import { GeolocationService } from './services/geolocation.service.ts'
// ... etc
bootstrap(AppComponent, [
GeolocationService,
// Put any other global services or providers in this array
])
然后在其他地方使用该服务:
import { Component, OnInit } from '@angular/core'
import { GeolocationService } from './services/geolocation.service.ts'
@Component({
// ...
})
export class SomeComponent() implements OnInit {
// Simple placing an argument of type GeolocationService
// Angular DI will inject an instance of the service for you to use
constructor(private geo: GeolocationService) {}
ngOnInit() {
let geoSource = this.geo.getLocation({ ... })
geoSource.subscribe(
() => {
console.log('callback for receiving value')
console.log(arguments)
},
() => {
console.log('callback for handling errors')
console.log(arguments)
},
() => {
console.log('callback for completion')
console.log(arguments)
}
)
}
}