2016-10-04 2 views
1

イベントエミッタを持つボタンコンポーネントがあり、トリガされたときにボタンのロードアニメーションを開始し、約束が解決したら読み込みアニメーションを停止します。 Promiseのコンポーネント出力

@Output() promiseClick: EventEmitter<any> = new EventEmitter<any>(); 

この

のようなものを使用することになります。makeAPICall()メソッドは約束を返す

<my-button (promiseClick)="makeAPICall()"></my-button> 

makeAPICall()約束がいつ解決されたかを知るには、my-buttonコンポーネントが必要です。これはどのように達成できますか? "知っている" はどのような

+0

正確に意味ですか? –

答えて

0
<my-button #button (promiseClick)="button.makeKnown(makeAPICall())"></my-button> 
makeKnown(p:Promise) { 
    p.then(result => this.result = result); 
} 
+0

しかし、 'my-button'コンポーネントの中の約束から 'then'コールバックにアクセスするにはどうしたらいいですか? 'my-button'はmakeKnown関数について知らないので。 –

+0

申し訳ありませんが間違いを犯しました。私は答えを更新しました。 'makeKnown'は' my-button'の中にあります。私はあなたの答えにコメントからの質問に答えなかったので、これがあなたが望むものなのかどうかわかりません。 –

+0

はい!これはまさに私が欲しいものです!どうもありがとう!それは少しhaxxyようだ、これを行うにはこれは唯一の方法ですか? –

関連する問題