BehaviorSubject
の角型アプリケーションでグローバルサービスを作成しようとしています。角4 - BehaviourSubjectが適切にjsonデータを返さない
私はHTTP getメソッドを定義しJSONファイルをロードするこのサービスでメソッドを作成しました。
今、私は任意のコンポーネントにasObservable
としてこのBehaviourSubject
をサブスクライブし、typescriptファイル内の特定の変数に結果を代入していたとき、私が直面してる問題があり、HTMLテンプレートは、構造化指令*ngFor
を経由してこの値を正しくレンダリングするが、とき私はtypescriptファイルで同じ値を取得しようとしていますが、動作しません。
たとえば、
私は
console.log(this.data.boxes.length);
この値を印刷しようとしている、それは私にエラー
[ERROR TypeError: Cannot read property 'length' of undefined]
と私は長さ
console.log(this.data.boxes);
せずにこの値を印刷しようとしています
これはコンソールパネルに適切な配列の値を与えます。
は今、私はまたlength
値を取得していますBehaviorSubject
Subject
に、その作業罰金手段を変更した場合。
Subject
の代わりにBehaviorSubject
を使用します。
私は間違っていますが、どのように達成できますか?
私が最初に考えたのは、あなたが長さを持っていない可能性がありますなぜそれが戻っだからですのでBehaviourSubjectだけで、あなたの最後の値を返すということです単一の値。 BehaviourSubjectを通常のSubjectの代わりに使いたい特定の理由はありますか? –
この例では、より多くのコードを持つと便利です。ここで何をしようとしているのかを視覚化するのは難しいです。関連するコードスニペットを提供できますか? –