私は検索バーとして機能するコンポーネントを持っています。それは、アプリの残りの部分には、@Output
とEventEmitter
を介して、APIの要求を行い、結果を提供することができますが、私はまた、逆の機能をしたい。検索バーコンポーネントは検索履歴を保持しており、親コンポーネントが履歴を消去する方法を提供したいと考えています。私が考えることができる最高の方法は、何らかの形で、親コンポーネントからの検索バーのメソッドを呼び出すことです。子供の中で関数を呼び出すAngular2コンポーネント?
私が思いついたことは、EventEmitter
を検索バーに入れようとすることです。子供は親のイベントに登録します。 @Input
はコンストラクタの時間までにバインディングを完了していないので、実際にこれを行うのは難しいです。
親コンポーネントに履歴を保存しようと思うかもしれませんが、検索バーが複数の場所に表示され、これが分離の懸念に適合しないため、検索バーがコンポーネントである理由は、検索バーコンポーネントに履歴を保存します。
親コンポーネントは子コンポーネントの関数をどのように呼び出すことができますか?
をサービスで検索履歴を入れて、あなたの子コンポーネントをサービスにバインドすることができます'history'インスタンスvar。このサービスは、親が呼び出すことができることを明確に示すことができます。ちょうどアイデア。まだ試していない。 –
素敵な読書 - http://learnangular2.com/viewChild/ –