4

我正在尝试将两个不同的表达式链接到一个ng-class中,其中一个应用了一个过滤器,例如:

<body ng-class="controller | camel2hyphens" ng-class="{overflow: isOverflow}">

但是 Angular 只使用其中之一(这是有道理的)。

我试过以这种方式使用表达式数组:

<body ng-class="[(controller | camel2hyphens), {overflow: isOverflow}]">

但是设置的 CSS 类是:

class="login-controller [object Object]"

有什么方法可以做到这一点ng-class(无需在控制器中使用逻辑编写方法)。

谢谢!

4

2 回答 2

3

似乎您尝试这样做的方式仅受Angular >=1.4支持。

对于Angular 1.21.3

如果表达式的计算结果为数组,则数组的每个元素都应该是一个字符串,该字符串是一个或多个以空格分隔的类名。

这样,您自己的建议是最好的,因为所有代码都保留在 ng-class 中。

ng-class="[(controller | camel2hyphens), isOverflow ? 'overflow' : '']
于 2015-04-17T12:26:53.333 回答
3

您可以class结合使用ng-class

<body class="{{controller | camel2hyphens}}" ng-class="{overflow: isOverflow}">
于 2013-09-30T16:56:48.123 回答