4

2 つの異なる式を にチェーンしようとしng-classています。そのうちの 1 つは、次のようなフィルターが適用されています。

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

しかし、Angular はそのうちの 1 つしか使用しません (これは理にかなっています)。

このように式の配列を使用してみました:

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

ただし、設定されている CSS クラスは次のとおりです。

class="login-controller [object Object]"

これを達成する方法はありますかng-class(コントローラーにロジックを使用してメソッドを記述せずに)。

ありがとう!

4

2 に答える 2

3

あなたがやろうとした方法は、Angular >=1.4でのみサポートされているようです。

Angular 1.2および1.3の場合:

式が配列に評価される場合、配列の各要素は、スペースで区切られた 1 つ以上のクラス名である文字列である必要があります。

このように、すべてのコードが ng-class 内にとどまるため、あなた自身の提案が最良でした。

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