我已经构建了一个指令来显示Angular中表单字段的验证消息。粗略地说,它看起来像这样:
<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>
我已经尝试了我能想到的每一种结合语句的组合,包括:
&#34; someForm [someField + item.id]&#34;
&#34; someForm [{{&#39; someField&#39; + item.id}}]&#34;
&#34; {{&#39; someForm.someField&#39; + item.id}}&#34;
...
所有这些导致解析错误通常如下所示:
[$ parse:syntax]语法错误:令牌&#39; {&#39;表达式[someForm [{{someField + $ index}}]]的列...的无效键....
希望这是我的一个小错误,有人可以指出我正确的语法吗?
提前致谢。
答案 0 :(得分:0)
您应该在'
(单引号)中放置硬编码的fieldname,以将其表示为字符串&amp;然后将其与item.id
<{1}}联系起来someForm['someField' + item.id]
<show-messages form-property="someForm['someField' + item.id]"></show-messages>
通过执行上述操作,它将从someField1
对象中获取someForm
字段值。