Я хочу отобразить форму на основе конфигурации динамического поля:
$scope.fields = [
{ title: 'Label 1', type: 'text', value: 'value1'},
{ title: 'Label 2', type: 'textarea', value: 'value2'}
];
Это должно выводить то, что ведет себя как:
<div>
<label>{{field.title}}<br />
<input type="text" ng-model="field.value"/>
</label>
</div>
<div>
<label>{{field.title}}<br />
<textarea ng-model="field.value" rows="5" cols="50"></textarea>
</label>
</div>
Простой реализацией будет использование операторов if
для визуализации шаблонов для каждого типа поля. Однако, поскольку Angular не поддерживает инструкции if
, я веду в сторону директив. Моя проблема заключается в понимании того, как работает привязка данных. Документация для директив является немного плотной и теоретической.
Я издеваюсь над тем, что я пытаюсь сделать здесь: http://jsfiddle.net/gunnarlium/aj8G3/4/
Проблема заключается в том, что поля формы не привязаны к модели, поэтому поля $scope.field в submit() не обновляются. Я подозреваю, что содержание моей директивной функции совершенно неверно...:)
Вперёд, мне нужно также поддерживать другие типы полей, такие как переключатели, флажки, флажки и т.д.