我正在开发Angular中的多步骤表单。表单上的一个步骤是选择一个过程类型,这可能会成为一个很长的列表。我决定添加基本搜索功能以缩小列表范围。
过程类型列表输出到包含ng-repeat
和过滤器的表中:
<tr ng-repeat="procedure in procedureTypes
| filter: query
| orderBy:orderProp
as filteredProcedureTypes">
<td >
<input
type="radio"
name="procedureType"
id="procedureFormProcedureType"
ng-model="newProcedure.procedureType"
value="{{procedure.id}}"
required>
</td>
<td>{{procedure.ncdManualId}}</td>
<td>{{procedure.name}}</td>
<td>{{procedure.id}}</td>
</tr>
检查控制器中的输入:
if ($scope.newProcedureForm.procedureType.$invalid){
return false;
}
在检查未过滤列表时以及查询未删除任何项目时,验证有效。当查询删除1个或多个项目时,我得到
TypeError:无法读取未定义的属性'$ invalid'
newProcedure
和newProcedureForm
在控制台中显示为对象,但在查询改变单选按钮列表后,我无法弄清楚为什么newProcedureForm.procedureType
变为未定义。