$ first в ngRepeat
У меня есть массив $scope.items
.
Я хочу, чтобы элемент был $first
одним из ngRepeat, чтобы добавить класс css in
.
Это что-то, что можно сделать с помощью angular? Как я могу обрабатывать логические значения в Ajs?
<div ng-repeat="item in items">
<div class='' > {{item.title}}</div>
</div>
Ответы
Ответ 1
Это должно быть
<div ng-repeat="item in items">
<div ng-class='{in:$first}' > {{item.title}}</div>
</div>
Посмотрите директиву ng-class
в http://docs.angularjs.org/api/ng.directive:ngClass и в этой теме Что является лучшим способ условного применения класса?
Ответ 2
Вы можете попробовать подход с вызовом метода.
HTML
<div ng-controller = "fessCntrl">
<div ng-repeat="item in items">
<div ng-class='rowClass(item, $index)' > {{item.title}}</div>
</div>
</div>
JS
var fessmodule = angular.module('myModule', []);
fessmodule.controller('fessCntrl', function ($scope) {
$scope.items = [
{title: 'myTitle1', value: 'value1'},
{title: 'myTitle2', value: 'value2'},
{title: 'myTitle3', value: 'value1'},
{title: 'myTitle4', value: 'value2'},
{title: 'myTitle5', value: 'value1'}
];
$scope.rowClass = function(item, index){
if(index == 0){
return item.value;
}
return '';
};
});
fessmodule.$inject = ['$scope'];
Демо Fiddle