【发布时间】:2017-04-04 21:49:47
【问题描述】:
假设我有一个表单名称“signupForm”。当我在按钮上使用 ng-disabled 指令时(禁用表单以防其无效),我使用
ng-disabled="{{formName}}.$invalid">(formName 包含值 signupForm)
当我在浏览器中检查按钮时,上述指令的计算结果为 ng-disabled="signupForm.$invalid">。太棒了。问题是,当我尝试在 ng-messages 指令中使用相同的表达式时,例如:ng-messages ="{{formName}}.$error">,表达式不会被插值。因此,如果我在 div 上使用该指令并在浏览器中检查它,我会将其视为:
<div ng-messages="{{formName}}.$error"></div> 而我希望它显示为 <div ng-messages="signupForm.$error"></div>。但这不会发生。
那么怎样才能让 ng-messages 指令插入表达式并正确显示呢?我已经用 AngularJS 1.4.7 和 1.5.0-rc.1 测试了这个问题,并且两者都存在这个问题。任何帮助表示赞赏。谢谢。
【问题讨论】:
-
你能检查
ng-attr-ng-messages="{{formName}}.$error"是否有效吗? -
@gustavohenke 刚试过。结果和前面一样。这没用。给我这个
<div ng-attr-ng-messages="{{formName}}.$error"></div>
标签: angularjs ng-messages