2017-05-18 26 views
0

角型2コンポーネントのHTMLテンプレートを動的に決定したいと思います。それは可能ですか?この機能をAngularでどうやって実現できますか?角型2コンポーネントの動的テンプレートHTML

私の目的は、同じコードベース/コンポーネントを持っていますが、HTMLの設定やサーバーのURLに基​​づいていますか?それは可能ですか?

+0

のサポート機能であるため、また、dynamic component loaderに見えるかもしれませんあなたはAOTコンパイルを使用していますか?それは事を複雑にするでしょう。それ以外の場合、SystemJSなどを使用している場合は、@Component({templateUrl:\ '$ {config.serverUrl} /someView.html \'}))デコレータに変数を渡すことができます。 – Steveadoo

+0

これは機能しますか? https://angular.io/docs/ts/latest/cookbook/dynamic-component-loader.html – wannadream

答えて

1

可能であれば、あなたがしようとしていることを達成するために他の方法を試すことをお勧めします。私の現在のプロジェクトでは、もともとcompileModuleAndAllComponentsAsyncを使用してモジュールとコンポーネントをビルドし、実行時にモジュールをコンパイルしてプロジェクトに追加し、ViewRefを使用して手動で現在のコンポーネントに注入しました。

(その上の詳しい情報はhereを見つけることができます)

しかし、これは本当にすぐコントロールから抜け出すことができます。

これはまた、webpackがコンパイル時に必要なテンプレートを知り、それらをすべて1つのコンポーネントに関連付けることができなかったため、webpackを使用できなくなってしまった。これにより、Angular CLIを使用することができなくなりました。

代わりに、ルーティングでこれを行う方法を見つけようと提案し、さまざまなコンポーネントにルーティングすることをお勧めします。これは、使用可能なすべてのテンプレートに対してコンポーネントが必要であることを意味します。

それは角2

関連する問題