0

私はいくつかのJSONデータを持っています-入力タイプ(入力、ドロップダウン、ラジオ、チェックボックスなど)、ラベル、およびそれらが必要かどうかを含むフィールドの配列。

フォームを作成するために、配列を介してng-repeatを実行しています。入力タイプの値に基づいてさまざまな種類の入力を作成するための最良の方法を理解しようとしています。

通常のプログラミングでは、私は

foreach (var field in FormData){
  if (field.inputType == "dropdown"){
    //logic to build dropdown using jQuery, etc..
    }
}

AngularJSでは、FormDataのng-repeat="field"内にある場合は実際には実行できません。配列をループしながら、これらのさまざまな種類の要素を動的に構築する適切な方法は何ですか?

この質問は非常に似ています: Angularを使用して動的フォームフィールドを出力するにはどうすればよいですか?

提案をありがとう。

4

1 に答える 1

2

私のアプリケーションでは、ng-repeatでng-switch(非常によく似た質問の回答を参照)を使用して、これに似たものを実現しました。これに関する唯一の問題は、モデルにリンクすることです。変数に格納されているプロパティ名にバインドする場合(jsonにフィールドのIDが含まれている場合)、次のようにすることはできません。

<input type="text" ng-model="formdata.{{elem.id}}" />

私はあなたが代わりにこれを行うことができることを発見しました:

<input type="text" ng-model="formdata[elem.id]" />
于 2013-03-22T01:28:42.540 に答える