私はアイテムのリストを持っています。もともと私はプルダウンしています。どのオブジェクトの配列です。私は次に、この新しいエンドポイントから何かがこのアレイに変更されたかどうかを確認する要求を出します。オブジェクトがこの配列に追加されている場合、追加されたオブジェクトでこの配列を何とか表示する必要があります。新しいオブジェクトを古い配列に挿入する。私はこれについてどうやって行くのですか?ありがとう!ブール値に基づいて配列にオブジェクトを追加/削除する - 角度2 + /イオン2+
0
A
答えて
0
このアプローチは、Angular単独またはIonic Frameworkのいずれかです。
Observables、Subject、BehaviorSubjectなどで知られているRxJsライブラリを使用できます。
変更を監視するオブジェクト/データを購読する必要があります。
この例では件名を選択したため、初期値を追加しませんでした。あなたは別の道を行くことができ、この
watcher = new BehaviorSubject(objArr);
は、それはそれにobjArr = [{}、{}]一連の値で開始しますか。
以下は簡単な例です。
import {AfterContentInit, Component, OnInit} from '@angular/core';
import {Subject} from "rxjs/Subject";
@Component({
selector: 'app-root',
styleUrls: ['./app.component.css'],
template: `
<h1> Keep watch on new additions to Array </h1>
<button (click)="addObj({name: 'Doe', age: 30})">Add Object</button>
<div *ngFor="let item of objArr">
<ul>
<li> Name: {{item.name}}, Age: {{item.age}}</li>
</ul>
</div>
`
})
export class AppComponent implements OnInit, AfterContentInit {
//// lets say it is where the data is coming from and into.
objArr = [
{
name: 'John',
age: 20
},
{
name: 'Jane',
age: 21
}
];
watcher = new Subject();
constructor() {}
ngOnInit() {
this.watcher.subscribe((data: User) => {
console.log('Array has being modified --> ' , data);
alert('Array has received new Data')
this.objArr.push({name: data.name, age: data.age})
})
}
ngAfterContentInit() {
setTimeout(() => {
this.watcher.next({name: 'Andy', age: 32})
}, 3500)
setTimeout(() => {
this.watcher.next({name: 'Bob', age: 48})
}, 6000)
}
addObj(data: User) {
this.watcher.next(data)
}
}
export interface User {
name: string,
age: number
}
あなたはさらに読書やドキュメントhttp://reactivex.io/rxjs/
のためにここに行くことができますが、一番下の行は、あなたが、ストリーム上のファイルの変更を監視し、それを購読する/観測などを必要とするということです通知等を受ける。これは、EventEmitterを使用する代わりに、コンポーネント間で通信するためのより良いアプローチです。 Angularには、HttpClientなどの購読可能なObservableがロードされます。
幸運のベスト。
関連する問題
- 1. 以前に欠けていた配列にオブジェクトを追加する - 角度2+ /イオン2+
- 2. オブジェクトの内側に配列を追加する角度2
- 3. 値に基づいてコンポーネントを表示する - 角度2
- 4. バインディングに基づく角度2の追加ディレクティブ
- 5. オブジェクトの角度ドロップダウン配列に基づいてコンテンツを表示
- 6. イオン/角度2:クリック時に新しい項目を追加した後の配列値を表示
- 7. 角度2 /イオン2でプログラムでHTMLノードを追加
- 8. 角2 - 入力値に基づくテンプレートの属性の追加
- 9. 値に基づいて2つに分割する配列
- 10. IDが一致するオブジェクトと配列のマージ - 角2+ /イオン2+
- 11. 値に基づいて2つの配列を結合する
- 12. 角度2とイオンのjsonからオブジェクトを削除する方法
- 13. 別の配列に基づいて配列から値を削除する
- 14. 角度リスト2のクラスリスト "ok"に追加/削除していますか?
- 15. 角度2の配列のブール値の数
- 16. 削除オブジェクト(角2)
- 17. APIにヘッダーを追加する、角2、イオン2
- 18. イオン2及び角度2
- 19. 角度2のテキストフィールドの値に基づいてボタンを無効にする
- 20. Unix削除2列に基づいてcsvから重複行
- 21. イオン/角度2カウントダウンタイマーソリューション
- 22. 角2:配列内のオブジェクトを削除する
- 23. 角2:クリックイベントに基づいて要素にngClassを追加する
- 24. 1つの参照配列に基づいて要素を配列に追加および削除します
- 25. イベントに基づいてjson配列内のオブジェクトを追加および削除する方法(cursor.observeChanges)
- 26. 角度2の配列の複数の値を削除する方法
- 27. 角度2のテンプレートの条件に基づいてインデックス値を取得する
- 28. 選択値に基づいてテーブル行を追加/削除する
- 29. Ngforを使用して角度2の配列値のDispalyオブジェクト
- 30. オブジェクトのプロパティに基づいてオブジェクトの2つの配列を減算する
エンドポイントは何を返すのですか?バックエンドコールをどのように実装していますか?オブザーバブルを通して? – yoonjesung