2016-04-17 62 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

hide-xs不是那样工作的(它不依赖于真或假)。它只是增加你的课程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-CLASS = “{ '隐藏-XS':item.showAlways}” 和它工作正常。使用指令比使用类恕我直言,但它的工作:) – Nico

相关问题