問題タブ [subject-observer]

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 投票する
3 に答える
3642 参照

angular - Subject.subscribe が ngOnInit で起動しない

私は自分のservice.tsonEditItem()でサブジェクトを定義しました.inはdetail.component.tsidの値を渡し、 サブジェクト.next()new.component.tsでサブスクライブされ ますが、サブスクリプションは機能していません. サブスクリプションはnew.component.tsngOnInitで行わ れます

id の値は正常に渡されましonEditItem()たが、サブスクリプションが機能していません。サブスクリプション内で console.log チェックを試みました。しかし、コンソールには何も出力されません。

details.component.html

details.component.ts

contactService.ts

new.component.ts

で定義されているフォームをnew.component.html詳細コンポーネントの値で初期化する必要があると思っていましたが、サブスクリプションが で機能していませんngOnInit

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

angular - Rxjs Behavior サブジェクトが ionic 4 および angular 7 を使用して UI 上のデータを更新しない

タイプ BehaviourSubject の配列がサービスで定義および初期化されており、別の関数を使用して編集すると更新されます。ただし、UI に表示される結果は新しく編集された配列のものではありませんが、変更はサーバー上の外部データベースに正常に適用されます。

多くのオンライン ソリューションを試しましたが、それでもうまくいきません。

「ServicesService」という名前のサービスで配列を初期化するためのコードを次に示します。

これは、オブザーバブルとして配列にアクセスするためのサービス内の関数です。

}

配列内の 1 つの要素を削除するサービスの関数を次に示します。まず、ローカル アレイではなくサーバー上で削除します。

これは、変更を追跡するために BehaviourSubject をサブスクライブする別のコンポーネントのコードです。

サービスで delete メソッドを呼び出し、この関数を使用して 1 つの要素を削除します。

私が期待していたのは、配列から要素を削除すると、ページを更新したりページに再度アクセスしたりしなくても、UI のリストから削除する必要があるということでしたが、これはうまくいかないようです。

これを解決する方法についてあなたの助けに感謝します。

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

angular - Angular で別のモジュールからオブザーバブルをサブスクライブできないのはなぜですか (セッターも機能します)。

モジュール間で作業しようとしています - モジュールにサービスを書きました

共有サービス

コンストラクターを介してサービスを呼び出すことにより、現在のパラメーターを設定できる並列モジュールからこれを呼び出します。ただし、ゲッターは同じモジュールからは機能しないようです。サブスクリプションは機能していないようです。オブザーバブルを返すようですが、サブスクライブできません。

私のcomponent.ts

ログ行 1 は最初の行でオブザーバブルを返しますが、サブスクライブは何も返さず、ログ 2 と 3 は空です。

別のモジュールから同じサブスクリプションを試してみると、ゲッターも機能します。ゲッターだけでこのコンポーネントで取り上げられないのはなぜですか?

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

angular - サブスクライバー Angular からデータを取得する際の問題

こんにちは、私はAngularが初めてで、ObservableとSubjectの概念を学んでいました。私が理解したのは、オブザーバブルは他のコードがサブスクライブできるイベントエミッターであり、サブジェクトはサブスクライブとデータの送信の両方ができるということでした。ミリ秒単位の時間が偶数かどうかを確認する以下のコードを試し、それに基づいて成功と失敗を出力しています。基本的に、成功と失敗のランダムな方法を作成しました。問題は、エラーが発生するとコントロールがエラー ブロックに移動しますが、成功を出力したり、成功ブロックに移動したりすることはありません。何が間違っているのかわかりません。また、私の知識のギャップを解消するのに役立つブログやドキュメントを教えていただけるかどうかもお知らせください。前もって感謝します。