由Observable

时间:2016-08-01 01:19:33

标签: variables typescript angular geolocation observable

这是我第一次使用TypeScript。我指的是这里的代码:Geolocation in Angular 2。我想知道如何存储函数返回的坐标。最后它导出一个变量,但由于我对TypeScript缺乏了解,我无法弄清楚如何存储它。

这些评论对我没有帮助。 这也是什么意思?

export var geolocationServiceInjectables: Array<any> = [ provide(GeolocationService, { useClass: GeolocationService })];

1 个答案:

答案 0 :(得分:0)

最后导出的变量只是为服务创建提供程序,但由于GeolocationService已标记为@Injectable(),因此您可以使用角度DI使服务在任何地方都可用。

在你的应用程序引导程序上使用类似这样的东西:

main.ts

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
])

然后在其他地方使用该服务:

some.component.ts

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)
        }
    )
  }
}