2017-04-18 13 views
0

アプリケーション内のどこからでもいくつかのパラメータを渡してモーダルを開く一般的なソリューションを作成する必要があります。これらのパラメータはサイズ(小、大、全画面)、拒否false)、最も重要なパラメータは、このモーダル内に表示する必要があるコンポーネントです。私の質問は、フルコンポーネントをメソッド内部サービスに渡す方法です。Angular2コンポーネントをパラメータとして渡す

答えて

0

あなたは、単にあなたのサービスにコンポーネントクラスを渡すことができます。

service.openModal(component = AComponent, ...rest) {} 

あなたは文字列としてそれを渡したい場合は、あなたがあなたのサービスで使用するコンポーネントが宣言し、名前によってそれらを探すことができます。このようなもの:

service.dynamicComponents = [AComponent, BComponent]; 

service.openModal(params = { component: 'AComponent' }) { 
    const component = this.dynamicComponents 
         .find(o => o.constructor.name === params.component) 
} 
関連する問題