2013-10-28 18 views
47

私は配列$scope.itemsを持っています。

のいずれかの項目が$firstのいずれかである場合は、CSSクラスinを追加します。

角度で行うことができるものですか?一般的に私はAjsのブール値をどのように処理できますか?

<div ng-repeat="item in items"> 
    <div class='' > {{item.title}}</div> 
</div> 

答えて

119

それはあなたがメソッド呼び出しでのアプローチを試みることができる

<div ng-repeat="item in items"> 
    <div ng-class='{in:$first}' > {{item.title}}</div> 
</div> 

http://docs.angularjs.org/api/ng.directive:ngClassでこのスレッドでng-classディレクティブを見What is the best way to conditionally apply a class?

+0

あなたはそれがどのように動作するかを説明できますか?ここであなたの方法を実装することができますフィドルです:http://jsfiddle.net/9Ymvt/673/ありがとう –

+2

ここhttp://jsfiddle.net/9Ymvt/675/ – Chandermani

4

でなければなりません。

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