レイアウトが完全にデータ駆動型のフォームを作成しようとしています。
データソースの例:
{
title : "Form Test",
fields : [{
name : "FieldA",
type : "string",
value : "initial value"
}, {
name : "FieldB",
type : "selection",
options : ["1", "2", "3"],
value : "2"
}, {
name : "FieldC",
type : "struct",
value :
[{
name : "FieldC1",
type : "string",
value : "initial value"
}, {
name : "FieldC2",
type : "string",
value : "initial value"
}
]
}
]
}
ng-repeatとng-switchを使用して、「タイプ」に応じてフォーム要素を選択できると思いますが、「FieldC」に到達すると、これを再帰的に実行することになると行き詰まります。
<span ng-switch on="field.type">
<div ng-switch-when="string">STRING: {{field.value}}</div>
<div ng-switch-when="selection">SELECTION: {{field.value}}</div>
<div ng-switch-when="struct">STRUCT: ????</div>
<div ng-switch-default>DEFAULT:{{field.value}}</div>
</span>
基本的に、「構造体」に遭遇したときに、ng-switchを構造体フィールドに再帰的に適用する方法が必要ですか?同じページの複数の場所で使用できるようにテンプレートを「参照」する方法はありますか?テンプレート「partials」のサポートは、ここではやり過ぎのように見えるルートを介してサーバー側で調整する必要があるようです。これは、独自のディレクティブの作成を掘り下げる必要がある場所ですか?
編集私はちょうどそれが私がしたいことをするかなりのチャンスがあるように見えるこれに遭遇しました(私はまだそれを適切にテストしていません)、それは正しい方向ですか?