私は、子コンポーネントの1つから親に戻るときにデータベースから取得する必要のあるデータを持つ親を持っています。この子供はルータ出口で表示されます。子から親に移動し、親の関数を実行するAngular2
私たちはログインページから親に移動し、子は表示されません。私は親にリストを持っています。これはページに移動するとデータベースから取得します
constructor(private todoService: TodoService) {
this.todoService.getData()
.subscribe(data => this.data)
}
これはうまくいきます。このリストが表示され、ユーザーがこれらの項目のいずれかを選択すると、ユーザーgetは1つの子にナビゲートされ、そこで新しい値で更新され、親に戻るようにナビゲートされます。同様に:
update(todo) {
this.service.updateData(todo)
.subscribe(data => {
console.log(data);
this.router.navigate(['parent'])
});
}
問題:ユーザーが親に戻ってナビゲートなると、親リストが更新されません、私は親が常にあるためであると思いますか?私がリストをリフレッシュするとOKです。そのため、子での更新が機能します。
コンストラクタにあるthis.todoService.getData()
を親コンポーネントに実行させると、データベースから新しいバージョンのデータが得られるので、ページを更新する必要はありません。
あなたの親コンストラクタは、破壊されるまで2度も実行されないように、私はあなたに必要な場合に通知するために親に通知するためにeventemmiterを使用しますか? –
親子とテンプレートを共有することはできますか? –