Anu*_*han 9 angularjs angularjs-ng-class-even angularjs-ng-class-odd angular
我尝试在角度2应用程序中实现ng-class-even和ng-class-odd(来自angular 1)类型行为.
我已经编写了下面的代码并且工作正常,我想知道是否还有其他方法可以做到这一点.
HTML
<div *ngFor="#employee of employees; #index = index" [class.odd]="index%2==1" [class.even]="index%2==0" [class.selected]="employee === selectedEmployee">
<p>{{employee.name}}</p>
</div>
Run Code Online (Sandbox Code Playgroud)
CSS
.odd {
background-color: #f2f9ff;
}
.even {
background-color: #eceff3;
}
Run Code Online (Sandbox Code Playgroud)
mic*_*yks 29
旧方式
演示:http://plnkr.co/edit/YkcudQipF1c8iT5LCRyd?p =preview
<div *ngFor="#employee of employees;
#index =index;
#isOdd=odd;
#isEven=even"
[class.odd]="isOdd"
[class.even]="isEven"
[class.selected]="employee === selectedEmployee">
<p>{{employee.name}}</p>
</div>
Run Code Online (Sandbox Code Playgroud)
替换#为let(关键字)
<div *ngFor="let employee of employees;
let index =index;
let isOdd=odd;
let isEven=even"
[class.odd]="isOdd"
[class.even]="isEven"
[class.selected]="employee === selectedEmployee">
<p>{{employee.name}}</p>
</div>
Run Code Online (Sandbox Code Playgroud)
Gün*_*uer 14
更新(Angular4)
<div *ngFor="let employee of employees; index as i; odd as isOdd; even as isEven"
Run Code Online (Sandbox Code Playgroud)
原创(Angular2)
这应该工作:
<div *ngFor="let employee of employees; let index = index; let isOdd=odd; let isEven=even"
[class.Odd]="isOdd"
[class.even]="isEven"
[class.selected]="employee === selectedEmployee">
<p>{{employee.name}}</p>
</div>
Run Code Online (Sandbox Code Playgroud)
NgFor提供了几个可以别名为局部变量的导出值:
index将被设置为每个模板上下文的当前循环迭代.first将被设置为一个布尔值,指示该项是否是迭代中的第一个项.(自beta.15)last将被设置为一个布尔值,指示该项是否是迭代中的最后一项.even将设置为一个布尔值,指示此项是否具有偶数索引.odd将被设置为一个布尔值,指示此项是否具有奇数索引.
另见https://angular.io/docs/ts/latest/api/common/index/NgFor-directive.html
| 归档时间: |
|
| 查看次数: |
11745 次 |
| 最近记录: |