2017-07-08 5 views
0

私はアプリを持っており、データサービスを通じてObservable Objectsを取得しています。 これは私のコードです:角2データサービスの更新の可否

this.currentUser$ = dataService.getUser(authService.id); 
 
     this.currentUser$.subscribe(user => { 
 
     this.currentUser = user; 
 

 
     this.classes = dataService.getClasses(this.currentUser.school, this.currentGroup); 
 
     this.activities = dataService.getActivities(this.currentUser.school, this.currentGroup, this.currentClassId); 
 

 

 
     });

ときに、ページが最初にロードこれは動作しますが、ページが前のクラスから活動を表示するように、クラスIDを更新する必要があり、ボタンがありますが、私私は別のクラスからデータを取得することができますので、オブザーバブルを更新する方法を見つけることができません。

+0

オブザーバーでオブザーバーを更新することができます。それはおそらく唯一の方法です。 –

答えて

0

ボタンのクリックイベントでは、イベントバインディングを使用してコンポーネントのメソッドにバインドします。このメソッドでは、getActivitiesサービスメソッドを呼び出します。だからこのようなもの:

getActivitiesForClass() { 
    this.activities = this.dataService.getActivities(this.currentUser.school, this.currentGroup, this.currentClassId); 
} 
+0

これを前に試してみましたが、うまくいきませんでした。 "this.activities = this.dataService.getActivities(this.currentUser.school、this.currentGroup、this.currentClassId);"今はそれがあります。ありがとうございました。 – Joseph

+0

私は私の答えを調整します。うれしいことはあなたのために働いた。 – DeborahK

関連する問題