我正在开展一个角度项目,我需要根据一系列问题创建一个表单。我想为数组中的每个问题创建ng-model
。
所以我想出了类似下面的内容,但它没有用。
<div class="form-group" data-ng-repeat="question in questions">
<label for="{{question.label}}" class="col-md-2 control-label">
{{question.label}}:
</label>
<div class="col-md-10">
<input type="text"
class="form-control"
name="{{question.label}}"
data-ng-model={{question.label}}
required />
<span class="error"
data-ng-show="formQuickView.{{question.label}}.$error.required">
Required!
</span>
</div>
</div>
有人可以帮我解决这个问题吗? 非常感谢你们。
答案 0 :(得分:7)
formQuickView[question.label].$error.required
这是常规的JavaScript语法。您希望使用formQuickView
定义的名称访问question.label
的媒体资源。
<强>更新强>
不知怎的,我错过了主要观点,即ng-model
表达式。基本上你在这里做同样的事情。你有两个选择(技术上只有一个):
questions
,然后使用questions[question.label]
。<form name="questions" ....
和上面一样。答案 1 :(得分:4)
ng-model
不能与{{}}
一起使用,它认为传递给它的字符串是一个引用范围属性的表达式。
我不确定我是否正确理解了您的代码。在您的代码中,我认为data-ng-model="question.label"
应该有用。
如果您想引用label
字段中指定的动态字段。尝试使用ng-model:
<input type="text" ng-model="question[question.label]"/>