Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在AngularJS中使用ngClass指令的单向绑定?_Angularjs - Fatal编程技术网

如何在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': ...}"