Iは異なるレイアウトと角度> = 2ため(日付ピッカーなど)UIコンポーネントを作成したいです。たとえば:NG-ブートストラップと角度材料2複数のレイアウト
のための別の1のための1つの私は、この中で考えていた:
<div *ngIf="template === 1"> Bootstrap </div>
<div *ngIf="template === 2"> Angular Material </div>
だけでなく、これは醜いソリューションですが、私はそれを考えていませんng-bootstrapとmaterial2の間に矛盾があるために動作します。
もう一つの解決策は、2つの異なるコンポーネントを作成するには、次のようになります。
<my-ng-bootstrap-component> Bootstrap </my-ng-bootstrap-component>
<my-material2-component> Angular Material </my-material2-component>
しかし、これは私が必要なものではありません。これは、コンポーネントのユーザーにとって非常に混乱するためです。
アイデア?
編集:また、それらの間でいくつかのロジックを共有する必要があります。おそらく継承?事前に
おかげ
いいと読める ui-component>'または ' ui-component>'になります。 –
filoxo
<ui-component material></ui-component>
または<ui-component bootstrap></ui-component>
だろう各スタイルフレームワークに必要なクラス/コンポーネント/関数を適用します。そして、実装は素晴らしく読みやすい '@filoxo属性ディレクティブにテンプレートを追加できますか? – Alex
いいえ。ディレクティブをテンプレートレスコンポーネントと考えてください。しかし、これを使用して、ホストに戻すことができるコンポーネントを動的に作成することができます。私が見てきたこの良い例は、[Angular Material tooltip](https://github.com/angular/material2/blob/master/src/lib/tooltip/tooltip.ts)です。それがあまりにも困難または不必要と思われる場合、上記は単にコンポーネント上の '@ Input'sである可能性があります。 – filoxo