異なるタイプのオブジェクトがいくつかある場合。すべてのオブジェクトには独自のコンポーネントがあります。たとえば、私はtypeA, typeB, typeC
を持っていて、すべての型に対して独自のコンポーネントtypeAComponent, typeBComponent, typeCComponent
を持っています。文字列名で表示するコンポーネントを決定します。
現在、私は大きなngSwitchを持っている:
<div [ngSwitch]="variant.type">
<div *ngSwitchCase="'typeA'">
<typeAComponent></typeAComponent>
</div>
<div *ngSwitchCase="'typeB'">
<typeBComponent></typeBComponent>
</div>
<div *ngSwitchCase="'typeC'">
<typeCComponent></typeCComponent>
</div>
</div>
は、このスイッチケースを回避するためのいずれかの可能性はありますか?
variant.type
には、コンポーネントのタイプが含まれています。したがって、おそらく `< {{variant.type + 'Component}}}>
どうしたらいいですか?将来のバージョンでは、追加のタイプがあります。その考え方は、typeXComponent
だけを書かなければならず、他のコードを変更する必要がないということです。 (現在、私は、スイッチケースに新しいケースを追加する必要があります。)あなたが唯一の文字列として、私は角度のために必要な同様の
$myClassName = 'myClass';
$instance = new $myClassName();
何かをクラス名を知ることにより、クラスをインスタンス化することができますPHPで
:D
ヒントはありますか?
この回答ありがとうございます!私はこれを達成するために特別なjsonデータ構造を使用しました;) –