[解決済み] Observableからサブスクライブせずに現在値を取得する(1回だけ値が必要)
2023-08-30 12:04:51
質問
Observableを購読せずに、現在の値を取得するにはどうしたらよいでしょうか。私は現在の値が一度だけ欲しいだけで、新しい値がどんどん入ってくるわけではありません。
どのように解決するのですか?
あなたは ビヘイビアサブジェクト ,
- BehaviorSubjectはReplaySubjectと似ていますが、最後のパブリケーションだけを記憶しているのが特徴です。
- BehaviorSubject はまた、それにデフォルト値である T を提供する必要があります。 (すでに完了している場合を除き)。
Observableが発行した最新の値が表示されます。
BehaviorSubjectでは
getter
という名前のプロパティがあります。
value
という名前のプロパティに渡された最新の値を取得します。
- この例では、値 'a' がコンソールに書き込まれます。
//Declare a Subject, you'll need to provide a default value.
const subject: BehaviorSubject<string> = new BehaviorSubject("a");
USAGE
console.log(subject.value); // will print the current value
Subjectを隠蔽し、その値のみを公開する。
BehaviorSubjectを隠蔽し、その値のみを公開したい場合、例えばServiceからであれば、以下のようなゲッターを使用することが可能です。
export class YourService {
private subject = new BehaviorSubject('random');
public get subjectValue() {
return this.subject.value;
}
}
関連
-
[解決済み] BehaviorSubjectとObservableの違い?
-
[解決済み] インデックスを属性値とするngFor
-
[解決済み] コンポーネントテンプレートで要素を選択するには?
-
[解決済み】RxJSのSubjectやObservableの現在値を取得する方法は?
-
[解決済み] AngularでEventEmitterに2つのパラメータを渡すには?
-
[解決済み] Angular v5からAngular v6にプロジェクトをアップグレードしたい。
-
[解決済み] 新しいangularプロジェクトを作成する際に依存関係ツリーエラーを解決できない
-
[解決済み] Error: モジュールによってインポートされた予期しない値 'undefined'。
-
[解決済み] Angular2のテーブル行をコンポーネント化
-
[解決済み] 同じ観測値のサブスクライブで、その観測値の前回値を取得する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】RxJSのSubjectやObservableの現在値を取得する方法は?
-
[解決済み】take(1) vs first()
-
[解決済み] angular-cliのビルドでカスタムファイルをインクルードするには?
-
[解決済み] Angular CLIで特定のバージョンのAngularをインストールするには?
-
[解決済み] 新しいangularプロジェクトを作成する際に依存関係ツリーエラーを解決できない
-
[解決済み] angular-cli server - APIリクエストを別のサーバーにプロキシする方法は?
-
[解決済み] Typescriptで文字列をbooleanに変換する方法 Angular 4
-
[解決済み] aria-valuenow' は 'div' の既知のプロパティではないため、バインドできません。
-
[解決済み] Angular - ngForの中のngIfの中のパラメータを持つng-template [重複]。
-
[解決済み] Angular6でパスワードの検証を確認する [重複]。