【发布时间】:2013-03-08 15:01:29
【问题描述】:
我想根据动态字段配置呈现一个表单:
$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 语句,我将引导到指令的方向。我的问题是了解数据绑定的工作原理。 documentation for directives 有点密集和理论化。
我已经模拟了我在这里尝试做的一个简单的例子:http://jsfiddle.net/gunnarlium/aj8G3/4/
问题是表单字段没有绑定到模型,所以 submit() 中的 $scope.fields 没有更新。我怀疑我的指令函数的内容是完全错误的...... :)
接下来,我还需要支持其他字段类型,例如单选按钮、复选框、选择等。
【问题讨论】:
标签: angularjs