RxJS サブジェクトまたはオブザーバブルの現在の値へのアクセス
RxJS サブジェクトとオブザーバブルは、本質的に現在の値を保持しません。値が発行されると、その値はサブスクライバーに一時的にのみ渡されます。
ただし、現在の値が重要であるシナリオでは、この目的のために設計された特殊なサブジェクトである BehaviorSubject の利用を検討してください。 BehaviorSubject は最新の出力値を維持し、新しいサブスクライバーに即座に提供し、現在の値を取得する getValue() メソッドを提供します。
例:
Angular サービスの場合では、Subject を BehaviorSubject:
<code class="typescript">private _isLoggedInSource = new BehaviorSubject<boolean>(false); isLoggedIn = this._isLoggedInSource.asObservable();</code>
に置き換えましょう。これで、getValue():
<code class="typescript">import { SessionStorage } from './session-storage.service'; import { Component, OnInit } from '@angular/core'; @Component({ selector: 'my-component', templateUrl: './my-component.html' }) export class MyComponent implements OnInit { isLoggedIn: boolean; constructor(private sessionStorage: SessionStorage) { } ngOnInit() { this.isLoggedIn = this.sessionStorage.isLoggedIn.getValue(); } }</code>
以上がRxJS サブジェクトまたはオブザーバブルの現在の値にアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。