まずはお時間をいただきありがとうございます。角2、親から子へのコミュニケーション
私は角2を初めて使いました。この問題を解決する方法を理解しようとしています。
コンポーネント構造:
<parent-component>
<dynamic-button></dynamic-button>
<dynamic-button></dynamic-button>
...
</parent-component>
子コンポーネント
export class DynamicButtonComponent {
@Output() clicked: EventEmitter<any> = new EventEmitter<any>();
loading: Boolean = false;
handleClick(event: any) {
this.loading = true;
this.clicked.emit(event);
}
};
私は親にイベントを送信していますダイナミックボタンをクリックします。 'loading'変数を使用して、ボタンの横にスピナーが表示されます。 ParentがAPI呼び出しを行うと、APIコールが終了したときに、親コンポーネント(最初はイベントを送信する)から子コンポーネントに戻り、スピンナの表示を停止します。
この問題を解決するには、どのような方法が最善の方法であろうと助言してください。イベントエミッタへのコールバックがあると思ったが、これはAngular 2の原則に反していることをStackOverflowで読み取った。
何あなたのAPIの中で更新される親のオブジェクトにバインド@Inputプロパティについて折り返し電話? https://angular.io/docs/ts/latest/cookbook/component-communication.html#!#parent-to-child – elvin
通常、コンポーネント間で状態を共有するサービスを使用します。説明したようなスピナーサービスを実装するためのコードの概要は次のとおりです。http://stackoverflow.com/a/42041945 – AngularChef
@AngularFranceまずはお返事ありがとうございます。私のシナリオでは、すべてのボタンがスピナーコンポーネントを持つことができます。それらはすべて同じサービスに加入していますか? –