別のコンポーネントで何らかのアクティビティを実行した後で、コンポーネントを変更したい。コンポーネントには、親子関係はありません。通知イベントを1つのコンポーネントでトリガし、別のコンポーネントをAngular 4でリッスンする方法(コンポーネントに親子関係がない)
3
A
答えて
1
プライベートな主題と公衆観察を使って双方向フローで共有サービスを作成することができます。両方のコンポーネントがこれらのオブザーバブルにサブスクライブすることができます。ここで新しい値をプッシュでき、他のオブザーバは新しい値の変更に従って反応します。 plunkerで
コンポーネントは、任意の親子関係はありません。
@Injectable()
export class MissionService {
// Observable string sources
private missionAnnouncedSource = new Subject<string>();
private missionConfirmedSource = new Subject<string>();
// Observable string streams
missionAnnounced$ = this.missionAnnouncedSource.asObservable();
missionConfirmed$ = this.missionConfirmedSource.asObservable();
// Service message commands
announceMission(mission: string) {
this.missionAnnouncedSource.next(mission);
}
confirmMission(astronaut: string) {
this.missionConfirmedSource.next(astronaut);
}
}
+0
ありがとうございました。私は共有サービスに関するあなたの以前のコメントに基づいて解決策を試して開発しました。ありがとう! –
0
他の構成要素の変化に応じてコンポーネントを更新するためにいくつかの他の良い方法は:
- 両方が同じ親を共有する場合、あなたは出力親への変更と、親ができ他の子コンポーネントを更新します(入力を更新します)。
- 共有ストア(例:ng-redux)を使用できます。
- (何らかの種類のuiルータを使用している)(使用例に依存します)。
関連する問題
- 1. 親コンポーネントから子コンポーネントの検証をトリガする方法OnSubmit角4?
- 2. Angular2親コンポーネントが子コンポーネントのイベントをトリガーしない
- 3. 子コンポーネントの親コンポーネント変数にアクセスできない - 角4
- 4. Angular 2のデータ更新に関する子コンポーネントへの通知
- 5. anglejs2でコンポーネントの親コンポーネント通信を可能にする方法
- 6. Angular 4 - EventEmitterなしで子コンポーネントから親メソッドを呼び出す方法
- 7. 1つの子コンポーネントから別の子コンポーネントに値を渡す
- 8. 親モジュールから別のコンポーネントにAngular 2コンポーネントをラップする
- 9. 角2親子関係のないコンポーネント間でオブジェクトを送信
- 10. Reactjの親コンポーネントは子コンポーネントの子と通信します
- 11. Angular 2 @Input - 子コンポーネントのIDプロパティを親コンポーネントからバインドする方法は?
- 12. Angular2親コンポーネントのclickイベントを使用する子コンポーネントのToggleクラス
- 13. Angular2の親子コンポーネント通信
- 14. 親コンポーネントの中に子コンポーネントを登録する方法angular2
- 15. React - 親コンポーネントは子コンポーネントを別の要素/ノードにレンダリングする
- 16. 親コンポーネント上に子コンポーネントをレンダリングする
- 17. 子コンポーネントの更新親コンポーネント
- 18. 子コンポーネントの親コンポーネント関数を角で呼び出す
- 19. 子コンポーネントが親コンポーネントで正しくレンダリングされない
- 20. 親コンポーネント内の親コンポーネントの子コンポーネントの値(ListView内)へのアクセス方法ネイティブ
- 21. 角(4):クラスオブジェクトを子コンポーネントから親コンポーネントに渡す
- 22. 角4:親コンポーネント=>子コンポーネントをサブスクライブするrouterLinkActive change
- 23. angular2のあるコンポーネントから別のコンポーネントへの関数のトリガ方法は?
- 24. vue.js子 - 親コンポーネント通信
- 25. 子コンポーネントのイベントハンドラ関数をreact.js内の親コンポーネントからオーバーライドする方法
- 26. 角2コンポーネントの子でメソッドのメソッドをコンポーネントの親に送信する方法
- 27. 子供の接続状態の親コンポーネントに通知する
- 28. Redux:親に通知する子コンポーネントがReduxアクションをディスパッチしたときにコンポーネントを応答します。
- 29. 親から1対多の関係を持つNHibernateコンポーネント
- 30. ネイティブリアクト:表示する親コンポーネントを子コンポーネント
親の子関係がない場合に共有サービスを使用して、あるイベントから別のイベントにイベントを送信することができます – JayDeeEss
ありがとうございました!わかりやすくするための簡単な例を教えてください。それは多くの助けになるでしょう。 –
@ParitaPatelこのリンクを確認してください。 https://angular.io/guide/component-interaction#parent-and-children-communicate-via-a-service また、この回答を参照してください。 https://stackoverflow.com/a/44064843/5476757 –