如何在AngularJS中使用ngClass指令的单向绑定?
我有一个物品清单。它们以如何在AngularJS中使用ngClass指令的单向绑定?,angularjs,Angularjs,我有一个物品清单。它们以ngRepeatdirecitve显示。每个包含信息的块都包含有指令,该指令有一些辅助方法 i、 e.它构造labelId变量,该变量在此块中使用,具有单向绑定 因此,当我想在属性的中显示它时,我没有问题 {{::label} 当我想将其显示为字段名时,也没有问题{{{::label} 但是当我想在ngMessages块中引用它时,就像: <p class="error-message" ng-messages="FormName[::label + '_' + $
ngRepeat
direcitve显示。每个包含信息的块都包含有指令,该指令有一些辅助方法
i、 e.它构造labelId
变量,该变量在此块中使用,具有单向绑定
因此,当我想在属性的中显示它时,我没有问题
{{::label}
当我想将其显示为字段名时,也没有问题{{{::label}
但是当我想在ngMessages
块中引用它时,就像:
<p class="error-message" ng-messages="FormName[::label + '_' + $index].$error" ng-messages-include="error-messages.html"></p>
ng类也有单向绑定语法
ng-class="::{'has-error': ..., 'no-error': ...}"
但即使里面有很多类,它也是一个表达式
因此,如果您需要对该ng类中的某些类进行双向绑定,则不能使用单向绑定。ng class=“:{'has-error':…}”
如果还有其他不需要单向绑定的类,该怎么办?我相信angular只允许您对每个表达式使用一个::语法。此外,我认为angular只为ng类添加一个$watch,不管里面有多少类。@你可以把你的评论作为一个答案,因为它确实有帮助,所以这个问题可以结束吗?
Error: [$parse:syntax] Syntax Error: Token ':' not a primary expression at column 21 of the expression [{'has-error': (FormName[::label + '_' + $index].$error
ng-class="::{'has-error': ..., 'no-error': ...}"