动态ng-class值

时间:2014-08-01 14:05:29

标签: javascript angularjs

我有这个标记的指令:

<button type="button" ng-class="{ 'btn-disabled': button.isDisabled }">

如您所见,如果范围的btn-disabled是真实的,则button.isDisabled会被添加为CSS类。

范围上还有一个属性button.glyphicon。如果glyphicon是真实的,我也想将它的值添加到<button>的类中。

我该怎么做?

2 个答案:

答案 0 :(得分:2)

也许不是最好的语法,但您可以使用:

data-ng-class="[button.isDisabled ? 'btn-disabled' : '', button.glyphicon]"

答案 1 :(得分:1)

您可以向ng-class添加功能。

<button type="button" ng-class="getClass()">...

并在控制器上

 $scope.getClass = function(){
       return ($scope.button.isDisabled ? "btn-disabled " : " ") + ($scope.button.glyphicon || "");
   }

通过将其添加为一个函数,您可以减少一个额外的手表,该手表将在模板中内联时生成,并从html中抽象出逻辑。