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