2017-02-20 5 views
0

私は新しいangular2ですので、基本的な質問がある場合は無視してください。angular2で観測可能な型のデータを操作する方法

私はタイプObservable

users: Observable<User[]>; 

とコンストラクタ内の変数を持って、私は今、私はthis.usersのデータを反復処理/操作したいそれを

constructor(private roleService: RoleService, private userService: UserService) { 
     this.users = this.userService.getAllUsers(); 
} 

を満たしています。どうやってやるの?

+0

https://blog.thoughtram.io/angular/2016/01/06/taking-advantage -of-observables-in-angular2.html –

+0

getAllUsers()メソッドのコードを追加できますか?いずれにしてもObservableがどのように管理されているかを見てみましょう。angular.io – Picci

答えて

1

mapまたは利用可能な演算子の長いリストのいずれかを使用できます。

観測可能なものを実行するには購読する必要があります。そうでない場合は何もしません。あなたはまた、subscribe()の代わりに.forEach(...).toArray()、(など)を使用することができます。

constructor(private roleService: RoleService, private userService: UserService) { 
     this.users = this.userService.getAllUsers() 
     .map(val => val + 'xxx') 
     .subscribe(val => console.log(val)); 
} 

も参照してくださいhttps://blog.thoughtram.io/angular/2016/01/06/taking-advantage-of-observables-in-angular2.html

+1

のhttpクライアントのドキュメントから始まるかもしれません。テンプレートの 'async'パイプを暗黙的に購読して、退会する。ところで、通常、コンストラクタではなく、 'ngOnInit'でこのようなことをする方が良いでしょう。 –

+0

私は秘密のユーザーをデカールしました:[{値:0、ラベル: 'sd'}]; subscribe this.userService.getAllUsers() .subscribe(data => { data.forEach(element => { this.users.push({値:element.id、label:element.firstName}); }); })がコンソールにエラーを表示しています "未定義のプッシュ 'プロパティを読み取れません" –

+0

これは質問ですか?まだ何かが不明ですか? –

関連する問題