AngularJs:NgMessages不接受花括号

时间:2015-07-16 16:18:19

标签: angularjs

我正在尝试使用ngMessages,但在指定要附加的表单元素时遇到了问题。

我可以使用它,它可以正常工作 -

ng-messages="FieldForm951.FormElement951.$error"

但是,(正如您可能从我的元素名称中所知)我正在创建一个动态表单,因此我无法像这样轻松地指定元素的名称。

这就是我想做的事,

ng-messages="FieldForm{{Questions[' + scope.$index + '].Id}}.FormElement{{.Questions[' + scope.$index + '].Id}}.$error"

真正唯一重要的因素是我希望能够使用花括号来指定自定义名称。这个确切的代码适用于ng-show,ng-required和我尝试​​过的任何其他内容,但不适用于ngMessages。我收到错误'语法错误:令牌' {'是一个意想不到的标记'。

我想因为ngMessages是一个自定义模块,它没有相同的功能,但有没有办法解决这个问题,我没有看到?

1 个答案:

答案 0 :(得分:2)

好消息是,这显然是一个已知的错误。

请参阅此主题:Syntax error : ng-messages='{{field}}.$error'

上述问题的已接受答案包括this open issue的错误,我建议订阅,以便您知道何时可以返回使用带有更多动态表达式的ng-messages来代替此用例你选择的解决方法(我个人只是使​​用ng-show,因为这允许我在花括号内引用我动态命名的ng-forms,使事情看起来更容易阅读)。