Angular2全局变量可观察

前端之家收集整理的这篇文章主要介绍了Angular2全局变量可观察前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我对angular2很新,我有点卡在某事上.

我创建了一个全局settings.service.此服务从API获取设置,并使用收集的数据填充设置模型.

服务:

  1. public settings : settingsModel;
  2.  
  3. constructor(public http: Http){
  4. this.setSettings()
  5. .subscribe(
  6. (data) => {
  7. this.settings = data
  8. });
  9. }
  10.  
  11. setSettings() : Observable<any>{
  12. return : this.http.get('/settings')
  13. .map(response => response.json());
  14. }
  15.  
  16. getSettings(){
  17. return this.settings;
  18. }

这工作正常,我在.map中测试返回数据时正确设置了设置

但是当我尝试从需要此数据的组件调用GetSettings时,它返回空.该服务在引导程序中定义.

我是否需要使’settings’变量可观察?任何帮助将非常感谢!

TNX!

我将使用do运算符将缓存实现到您的服务中:
  1. private settings : settingsModel;
  2.  
  3. constructor(public http: Http){
  4. this.settingsObservable = this.http.get('/settings')
  5. .map(response => response.json())
  6. .do(settings => {
  7. this.settings = settings;
  8. }).share();
  9. }
  10.  
  11. getSettings() {
  12. if (this.settings) {
  13. return Observable.of(this.settings);
  14. } else {
  15. return this.settingsObservable;
  16. }
  17. }

猜你在找的Angularjs相关文章