如何在AngularJS中使用单向绑定ngClass指令?

Eug*_*ene 9 angularjs

我有一个对象列表.它们与ngRepeatdirecitve 一起显示.带有信息的每个块都包含指令,它有一些辅助方法.

即它构造labelId变量,在该块中使用单向绑定.

因此,当我想在for属性中显示它时我没有问题 {{::label}}.
当我想将其显示为字段名称时,也没有问题{{::label}}.

但是当我想在ngMessages块中引用它时:

<p class="error-message" ng-messages="FormName[::label + '_' + $index].$error" ng-messages-include="error-messages.html"></p>
Run Code Online (Sandbox Code Playgroud)

或者当我想用它来引用动态设置css类时:

<div ng-class="{'has-error': (FormName[::label + '_' + $index].$error.someErrorName)}">
Run Code Online (Sandbox Code Playgroud)

然后我就到了 Error

Error: [$parse:syntax] Syntax Error: Token ':' not a primary expression at column 21 of the expression [{'has-error': (FormName[::label + '_' + $index].$error
Run Code Online (Sandbox Code Playgroud)

YOU*_*YOU 20

ng-class也有单向绑定语法

ng-class="::{'has-error': ..., 'no-error': ...}"
Run Code Online (Sandbox Code Playgroud)

但即使里面有很多课,也是一个表达.

因此,如果您需要对ng-class中的某些类进行双向绑定,则无法使用单向绑定.