2016-12-14 7 views
1

У меня есть две переменных goalsData и goals, которые правильно работают на начальной загрузке, но я хотел бы сохранить goal синхронно с goalsData, так что, если есть изменения на goalsData, что изменение сохраняется до goals хау могу ли я достичь этого?Держите два значения в синхронизации, когда данные изменения

ngOnInit() { 
    this.goalsData = this.apollo.watchQuery({ query: GoalQuery, forceFetch: true }); 
    this.goals = this.goalsData.map(({data}) => data.allGoals); 

    console.log(this.goals); 
    } 
+0

Вы можете использовать 'Subject'. – Emu

ответ

0

Я не использовал Apollo, но watchQuery возвращает Observable. Это означает, что вам нужно подписаться на него, чтобы получить изменения.

ngOnInit() { 
    this.goalsData = this.apollo.watchQuery({ query: GoalQuery, forceFetch: true }); 
    this.goalsData 
     .map({data}=>data.allGoals) 
     .subscribe((goals)=>{ 
      this.goals = goals; 
      console.log(this.goals); 
     },(err)=>{ 
      console.error(err); 
     },()=>{ 
      console.log('finished'); 
     }); 
} 

Предполагая, что аполлон будет испускать данные голевого это будет постоянно обновлять this.goals