2016-04-17 25 views
0

ng-repeatで、現在のスコープに基づいて要素にhide-xs属性を追加したいとします。
どうすればいいですか?条件付きでhide-xs属性を追加する

<li ng-repeat="item in items" hide-xs="{{ item.showAlways ? 'false' : 'true' }}"> 
    <a href="" ng-click="item.action()">{{item.title}}</a> 
</li> 

編集

私はしかし、もし誰(DieuNQにより示唆されるように)これをやってしまった:

は、私は基本的にのようなものを(これは明らかに動作しません)やりたいですそれはディレクティブを使用していないクラスは、私はそれを

<li ng-repeat="item in items" ng-class="{'hide-xs': !item.showAlways }}"> 
    <a href="" ng-click="item.action()">{{item.title}}</a> 
</li> 

答えて

1

を取る行う方法を知っていますはそのようには機能しません(trueまたはfalseに依存しません)。 tagにクラスを追加するだけです。これを試してみてください:

をあなたのhtmlで:

<li ng-repeat="item in items" ng-model="item.showAlways" ng-class="someClass"> 
    ... 
</li> 

をお使いのコントローラでは:

$scope.item.showAlways ? $scope.someClass == '' : $scope.someClass == 'hide-xs'; 
+3

を私がやったより簡単NG-クラス= "{ '隠す-XS':item.showAlways}" とそれはうまく動作します。ディレクティブを使用すると、クラスIMHOを使用するよりも優れていますが、それは動作します:) – Nico

関連する問題