typescript – 在Angular服务中获取Subject.asObservable()的当前值

前端之家收集整理的这篇文章主要介绍了typescript – 在Angular服务中获取Subject.asObservable()的当前值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在Angular2服务中编写一个简单的切换.

因此,我需要观察的主题的当前值(见下文).

import {Injectable} from 'angular2/core';
import {Subject} from 'rxjs/Subject';

@Injectable()

export class SettingsService {

  private _panelOpened = new Subject<boolean>();
  panelOpened$= this._panelOpened.asObservable();

  togglePanel() {
    this._panelOpened.next(!this.panelOpened$);
  }

}

如何从_panelOpened / panelOpened $中获取当前值?

谢谢.

解决方法

好像你在寻找 BehaviorSubject

private _panelOpened = new BehaviorSubject<boolean>(false);

如果您订阅,则将最后一个值作为第一个事件.

togglePanel() {
  this.currentValue = !this.currentValue;
  this._panelOpened.next(this.currentValue);
}

猜你在找的Angularjs相关文章