在一个ng-class指令中使用条件和函数的ng-class

时间:2017-06-14 06:06:05

标签: javascript html angularjs

我希望ng-class有一个条件和一个函数调用。如何进行必要的更改:

<li ng-repeat="t in tabs" ng-class="{'active1':t.active,clickmenu(t.route)}" ng-click='clickMainMenu($index,t)'><div class='custom-menu-li' >{{t.heading | translate }}</div>       
</li>

以使ng-class在一个ng-class指令中具有条件和函数。

2 个答案:

答案 0 :(得分:0)

controller.js

$scope.isActive = function(t) {
    if (t.active) {
       clickmenu(t.route);
       return true;
    }
}

template.html

<li ng-repeat="t in tabs" 
    ng-class="{'active1': isActive(t)}" 
    ng-click='clickMainMenu($index,t)'>
  <div class='custom-menu-li' >{{t.heading | translate }}</div> 
</li>

注意:这不是理想的选择。每个摘要周期都会调用您的clickmenu。

答案 1 :(得分:0)

您可以使用&&

执行此操作
<li ng-repeat="t in tabs" ng-class="{'active1':t.active && clickmenu(t.route)}" ng-click='clickMainMenu($index,t)'><div class='custom-menu-li' >{{t.heading | translate }}</div>       
</li>