問題タブ [behaviorsubject]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
57548 参照

javascript - rxjs5 で BehaviorSubject の現在の値を取得する簡単な方法

以前のrxjs4には、BehaviorSubject に次のメソッドがありました: getValue()( doc here )。

このメソッドはrxjs5にはもう存在しません。

したがって、BehaviorSubject の値を取得するために見つけた唯一の解決策は次のとおりです。

このコードは同期的に実行され (理由は正確にはわかりませんが...)、値を取得します。動作しますが、存在する場合ほどきれいではありませんgetValue():

rxjs5getValue()で削除された理由と、この問題に対する最もクリーンな解決策は何ですか?

0 投票する
1 に答える
1039 参照

angular - Rxjs には、behaviorsubject に深くネストされたオブジェクトが含まれます

この分野での経験が限られているため、Rxjs で BehaviorSubject を使い始めています。これまでのところ、コンポーネントのルート レベルのパラメーターを取得できますが、ネストされたオブジェクトにアクセスすると、「未定義のプロパティ x を読み取れません」という結果になります。

クラス:

BasketBackendService

バスケットサービス

テンプレート (スニペット)

深くネストされたオブジェクトの参照を削除すると、期待どおりの結果が返されます。

BehaviorSubject を使用していくつかのコンポーネントを更新しようとしていますが、これが最善の解決策であるかどうかはわかりません!

0 投票する
1 に答える
1037 参照

angular - BehaviorSubject Observable が Angular 2 RC4 で機能しない

RC5に他の問題があり、そこでHTTPを動作させるため、Angular 2 RC4をまだ使用しています。このシナリオでは、BehaviorSubject オブザーバブルを使用して app.component.html で使用しているブール変数を更新して、ユーザーが正常にログオンした場合にのみデータを表示しようとしています (*ngIf を使用)。私のアプリは、Eclipse Neon にデプロイした Tomcat 8 サーバーでうまく動作しています。これについては他の例に適切に従ったと思いましたが、Chromeでこのエラーが発生し続けます-TypeError: Cannot read property 'next' of undefined

私が欠けているものを明確にするのを手伝ってもらえますか?

auth.service.ts

app.component.ts

main.ts

Chrome コンソールのエラー:

おそらく、エラーは私が使用している HTML 構文です。

0 投票する
12 に答える
533241 参照

javascript - BehaviorSubject vs Observable?

Angular RxJs パターンを調べていますが、 aBehaviorSubjectと anの違いがわかりませんObservable

私の理解では、aBehaviorSubjectは時間の経過とともに変化する可能性がある値です (サブスクライブすることができ、サブスクライバーは更新された結果を受け取ることができます)。これは、のまったく同じ目的のようObservableです。

いつ anObservableと aを使いBehaviorSubjectますか? またはその逆を使用BehaviorSubjectする利点はありますか?Observable

0 投票する
4 に答える
8577 参照

angular - Angular2 + RxJS BehaviorSubject サブスクリプションがすべてのコンポーネントで機能しない

コンポーネント間で何らかの通信を行おうとしているので、コンポーネントで BehaviorSubject と Subscription を持つサービスを次のように使用しています。

サービス (問題に関連するコード):

コンポーネント A:

コンポーネント B:

コンポーネント B がコンポーネント A の子である場合、これは完全に機能しますが、A がルート コンポーネントであり、B がその内部にある<router-outlet>(またはその逆) 場合、サブスクリプションに何も受信されずsent、コンソールにのみ表示されます。

私は何を間違っていますか?

0 投票する
1 に答える
11803 参照

angular - Angular 2 で getter と setter を使用して BehaviorSubject を実装する方法

私は LoginService にisLoggedIn型のブール値BehaviorSubjectを getter および setter 関数と一緒に実装して、値を Observable として取得したり、BehaviorSubject を介して変数を正しく設定したりしようとしています。これは機能していますが、TSLint で「Type not assignable」と「Dublicate identifier」に関する 2 つのエラーがスローされます。TSLintが文句を言わずにそれを定義する正しい方法は何でしょうか。

これは、上記のコードの簡素化されたバージョンです。

0 投票する
1 に答える
404 参照

android - BehaviorSubject 処理内の BehaviorSubject

シナリオテリトリー のリストがあり、すべてのテリトリー内のすべてのアイテムをサーバーから取得したいと考えています。ということで、使ってみることにしました。自分が「狂気」なのかどうかはわかりません。これは私がしたことです:BehaviorSubject

これを行うと何も実行されていないように、ただハングするだけです