問題タブ [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.
javascript - rxjs5 で BehaviorSubject の現在の値を取得する簡単な方法
以前のrxjs4には、BehaviorSubject に次のメソッドがありました:
getValue()
( doc here )。
このメソッドはrxjs5にはもう存在しません。
したがって、BehaviorSubject の値を取得するために見つけた唯一の解決策は次のとおりです。
このコードは同期的に実行され (理由は正確にはわかりませんが...)、値を取得します。動作しますが、存在する場合ほどきれいではありませんgetValue()
:
rxjs5getValue()
で削除された理由と、この問題に対する最もクリーンな解決策は何ですか?
angular - Rxjs には、behaviorsubject に深くネストされたオブジェクトが含まれます
この分野での経験が限られているため、Rxjs で BehaviorSubject を使い始めています。これまでのところ、コンポーネントのルート レベルのパラメーターを取得できますが、ネストされたオブジェクトにアクセスすると、「未定義のプロパティ x を読み取れません」という結果になります。
クラス:
BasketBackendService
バスケットサービス
テンプレート (スニペット)
深くネストされたオブジェクトの参照を削除すると、期待どおりの結果が返されます。
BehaviorSubject を使用していくつかのコンポーネントを更新しようとしていますが、これが最善の解決策であるかどうかはわかりません!
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 構文です。
javascript - BehaviorSubject vs Observable?
Angular RxJs パターンを調べていますが、 aBehaviorSubject
と anの違いがわかりませんObservable
。
私の理解では、aBehaviorSubject
は時間の経過とともに変化する可能性がある値です (サブスクライブすることができ、サブスクライバーは更新された結果を受け取ることができます)。これは、のまったく同じ目的のようObservable
です。
いつ anObservable
と aを使いBehaviorSubject
ますか? またはその逆を使用BehaviorSubject
する利点はありますか?Observable
angular - Angular2 + RxJS BehaviorSubject サブスクリプションがすべてのコンポーネントで機能しない
コンポーネント間で何らかの通信を行おうとしているので、コンポーネントで BehaviorSubject と Subscription を持つサービスを次のように使用しています。
サービス (問題に関連するコード):
コンポーネント A:
コンポーネント B:
コンポーネント B がコンポーネント A の子である場合、これは完全に機能しますが、A がルート コンポーネントであり、B がその内部にある<router-outlet>
(またはその逆) 場合、サブスクリプションに何も受信されずsent
、コンソールにのみ表示されます。
私は何を間違っていますか?
angular - Angular 2 で getter と setter を使用して BehaviorSubject を実装する方法
私は LoginService にisLoggedIn
型のブール値BehaviorSubject
を getter および setter 関数と一緒に実装して、値を Observable として取得したり、BehaviorSubject を介して変数を正しく設定したりしようとしています。これは機能していますが、TSLint で「Type not assignable」と「Dublicate identifier」に関する 2 つのエラーがスローされます。TSLintが文句を言わずにそれを定義する正しい方法は何でしょうか。
これは、上記のコードの簡素化されたバージョンです。
android - BehaviorSubject 処理内の BehaviorSubject
シナリオテリトリー
のリストがあり、すべてのテリトリー内のすべてのアイテムをサーバーから取得したいと考えています。ということで、使ってみることにしました。自分が「狂気」なのかどうかはわかりません。これは私がしたことです:BehaviorSubject
これを行うと何も実行されていないように、ただハングするだけです