Css ngClassOdd/NGCLASSEEN未按预期工作
使用Angular版本1.2.15,我发现了一个bug,它似乎是从版本1.2.2开始的,直到1.2.15 HtmlCss ngClassOdd/NGCLASSEEN未按预期工作,css,angularjs,angularjs-ng-class-even,angularjs-ng-class-odd,Css,Angularjs,Angularjs Ng Class Even,Angularjs Ng Class Odd,使用Angular版本1.2.15,我发现了一个bug,它似乎是从版本1.2.2开始的,直到1.2.15 Html <body ng-app=""> <ol ng-init="names=['John', 'Mary', 'Cate', 'Suz','Felipe','Vero']"> <li ng-repeat="name in names"> <span ng-class-odd="'shared odd'" ng-
<body ng-app="">
<ol ng-init="names=['John', 'Mary', 'Cate', 'Suz','Felipe','Vero']">
<li ng-repeat="name in names">
<span ng-class-odd="'shared odd'" ng-class-even="'shared even'">
{{name}}
</span>
</li>
</ol>
</body
您将看到奇怪的样式如何在第三个元素上不起作用
这个问题有解决办法吗
如果不是,升级或降级什么更有意义 从您的Plunkr中,看起来您根本没有得到“共享”类 另一种方法是将
ng class
与$index
这是一个已知的错误,已经修复,为什么不更新到v1.2.16
?它在
v1.2.16
上正常工作
如果您想继续使用v1.2.15
,您应该使用Morgan的解决方案(ng class
+$index
),或者在ngClassOdd
/ngclass偶
中只包含一个类:
<span class="shared" ng-class-odd="'odd'" ng-class-even="'even'">
注意:由于
ngRepeat
显示的项目列表是基于0的,因此第一个元素($index:0
)被认为是奇数,而我们(人类)希望第一个元素被认为是偶数。因此,请确保“反向”应用这些类。ngClass+$index
方法也是如此。
建议的解决方案仍然是升级到
v1.2.16
以防万一,使用所有3个
v1.2.15
解决方案。**`ng class odd`和`ng class偶数`的值可以是字符串:`ng class odd=“'myClass'”或表达式`ng class odd=“{myClass:boolExpression}”`**
**The value of `ng-class-odd` and `ng-class-even` can be a string: `ng-class-odd="'myClass'"` or an expression `ng-class-odd="{myClass: boolExpression}"`**
Also:
**Angular 1.2+**: `ng-class="{even: $even, odd: $odd}"`
<ul>
<li ng-repeat="name in names">
<span> ng-class="{even: $shared even, odd: `enter code here`$shared odd}">{{name}}</span>
</tr>
</ul>
<hr />
**Angular < 1.2** `ng-class="{even: !($index%2), odd: ($index%2)}"`
也:
**角度1.2+**:`ng class=“{偶数:$偶数,奇数:$奇数}”`
-
ng class=“{偶:$shared-偶,odd:`在这里输入代码`$shared-odd}”>{{name}
**角度<1.2**`ng class=“{偶数:!($index%2),奇数:($index%2)}”`
看起来只有应用了其中一种样式,它才有效。一个可能的解决方法是将偶数样式设置为默认值,然后将其更改为奇数行(反之亦然)。我想他现在已经有了他正在寻找的选项,我很想看看他选择了什么。@Morgandeley:我们已经忘记了$even
/$odd
由ngRepeat
公开的$odd
属性。我认为现在OP有了所有可用的选项:)看起来升级是更安全/正确的方法,因为它只是一个小升级是的!我很喜欢升级!(我在最新的生产项目中使用了v1.3.0-beta.7
,但不要告诉我的老板:哼,这是另一个线程的复制和粘贴:
<span ng-class="$even?'shared odd':'shared even'">
**The value of `ng-class-odd` and `ng-class-even` can be a string: `ng-class-odd="'myClass'"` or an expression `ng-class-odd="{myClass: boolExpression}"`**
Also:
**Angular 1.2+**: `ng-class="{even: $even, odd: $odd}"`
<ul>
<li ng-repeat="name in names">
<span> ng-class="{even: $shared even, odd: `enter code here`$shared odd}">{{name}}</span>
</tr>
</ul>
<hr />
**Angular < 1.2** `ng-class="{even: !($index%2), odd: ($index%2)}"`