私は現在、json の説明に基づいて一般的なフォームを表示する角度ディレクティブに取り組んでいます。
すべての入力に対して ng-repeat を実行し、リストに含まれる可能性のあるすべての入力タイプに対して ng-switch または ng-if-iterate を実行することに関心があります。約 15 のタイプがあり、フォームには約 20 ~ 50 の入力を含めることができます。
私が自分で実装するのを見ることができる複数のパターンがあります。現在の POC には、ng-if が ng-repeat で呼び出されるすべてのタイプをオンにする入力ディレクティブがあります。
入力ディレクティブ:
<md-input-container ng-if="description.type in ['Text', 'Number']">
...
</₥d-input-containter>
<md-input-container ng-if="description.type == 'Boolean'">
...
</₥d-input-containter>
<span ng-if="description.type == 'Select'">
...
</span>
...
経由で呼び出されます:
<input description="i" ng-repeat="i in inputs"></input>
レンダリングされた入力ごとにすべてのタイプを繰り返すことを懸念しています。angularはこれらの代替案をどの程度うまく管理していますか。事前に入力をフィルタリングしたい場合など、ng-repeat でフィルターをどのように処理しますか?
すべてのタイプに対して異なるディレクティブを作成し、ディレクティブを呼び出す前に切り替える必要がありますか? オーバーヘッドが大きすぎるようです...