2013-03-22 4 views
0

У меня есть некоторые данные JSON - массив полей, содержащих тип ввода (вход, выпадающий список, радио, флажок и т. Д.), Ярлык и требуются ли они или нет.Что такое хорошая практика при динамическом построении форм в AngularJS?

Я делаю ng-repeat через массив, чтобы построить форму. Я пытаюсь понять, что является лучшим способом для создания различных видов входов на основе значения типа ввода.

В обычном программировании, я хотел бы сделать

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

В AngularJS, я не могу сделать, если thens в пределах «поля в FormData» нг-повтора =. Каким образом можно динамически создавать эти различные элементы при циклическом перемещении по массиву?

Этот вопрос очень похож: How can I use Angular to output dynamic form fields?

Большое спасибо за любые предложения.

ответ

2

В моем приложении я использовал ng-переключатель (см. Ответ из очень похожего вопроса) в своем ng-repeat, чтобы добиться чего-то подобного. Единственная проблема с этим - связать с моделью. Если вы хотите связать с именем свойства, которое хранится в переменной (если JSON содержит идентификатор для поля), вы не сможете что-то вроде этого:

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

я обнаружил, что вы можете сделайте это вместо этого:

<input type="text" ng-model="formdata[elem.id]" /> 
+0

Спасибо за подсказку - мне было интересно, как я собираюсь это сделать! –

Смежные вопросы