2016-03-03 34 views
1

我已经构建了一个指令来显示Angular中表单字段的验证消息。粗略地,它看起来像这样:如何绑定到AngularJS的表单属性?

<form name="someForm"> 
    <div> 
     <input name="someField" type="text" ng-required="true" /> 
     <show-messages form-property="someForm.someField"> 
     </show-messages> 
    </div> 
</form> 

我试图构造字段名称时出现问题。

<form name="someForm"> 
    <div ng-repeat="item in items"> 
     <input name="{{ 'someField' + item.id}}" type="text" ng-required="true" /> 
     <show-messages form-property="????"> 
     </show-messages> 
    </div> 
</form> 

我试图结合语句的每一种组合,我可以想到的,包括:
“someForm [someField + item.id]”
“someForm [{{ 'someField' + item.id}}]”
“{{ 'someForm.someField' + item.id}}” ...

所有这些结果中出现解析错误的一般看起来像:

[$解析:语法]语法错误:令牌'{'表达式的列...中的无效键[som eForm [{{someField + $ index}}]] ....

希望这是我的一个小错误,有人可以将我指向正确的语法?

在此先感谢。

回答

0

你应该有'(单引号)代替硬编码的字段名来代表它作为字符串&然后用item.idsomeForm['someField' + item.id]

<show-messages form-property="someForm['someField' + item.id]"></show-messages> 

通过上面的事情做起来会从someForm对象获取someField1字段值连接它。