假设我有一个表单名"signupForm"。当我在按钮上使用禁用ng的指令(在表单无效时禁用它)时,我使用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消息指令对表达式进行内插并正确显示它呢?我已经用AngularJS 1.4.7和1.5.0-rc.1测试了这个问题,这两个问题都存在。任何帮助都是非常感谢的。谢谢。
发布于 2016-01-20 13:17:53
ng-messages=this[formName].$error
发布于 2017-04-04 13:49:47
ng-消息不允许在属性值中进行插值。
但是我们可以通过表达式来进行计算。
这个html中的表示当前的作用域,它也包含有关表单的所有信息以及验证。你可以把它记录下来看看你自己。
ng-messages="this[formName][fieldName].$error"
ng-messages="this[formName].$error" 会有用的,为我工作
https://stackoverflow.com/questions/34900068
复制相似问题