私は配列を使ってオブザーバブルを作成しています。 subscribeメソッドを呼び出すと、その長さは倍になります。Angualr Rxjs観測可能なアイテム数はサブスクリプションで倍になる
ie。サブスクリプション後に配列に3つの項目がある場合、同じ項目を複製することによって6になります。
また、非同期パイプを使用してhtml内の項目を一覧表示しています。
plunker例をご確認ください
@Component({
selector: 'my-app',
template: `
<div>
<ul>
<li *ngFor="let data of obs|async">
{{data.name}}
</li>
</ul>
</div>
`
})
export class App implements OnInit{
obs: Observable<any>;
arr = [{
name: 'name1',
age: 26
}, {
name: 'name2',
age: 27
}, {
name: 'name3',
age: 28
}];
constructor() {
}
ngOnInit() {
this.obs = Observable.from(this.arr).toArray()
this.obs.subscribe(res => {
console.log(res)
})
}
}
出力:
- 名1
- name2の
- NAME3
- 名1
- 名2 JSFiddleで
- NAME3
ありがとうございます。Observable.ofを使用して問題を解決しました。 –