0

我有一些 JSON 数据——一个包含输入类型(输入、下拉、单选、复选框等)、标签以及是否需要它们的字段数组。

我正在通过数组进行 ng-repeat 以构建表单。我试图了解基于输入类型值构建不同类型输入的最佳方法是什么。

在正常编程中,我会做一个

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

在 AngularJS 中,如果 thens 在 ng-repeat="formData 中的字段" 中,我真的不能这样做。在遍历数组时动态构建这些不同类型的元素的正确方法是什么?

这个问题很相似: How can I use Angular to output dynamic form fields?

非常感谢您的任何建议。

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 回答