时间:2015-05-07 05:54:29

标签: javascript json angularjs ng-class

我希望有人可以帮助我。 我正在使用angular v1.3.14,我尝试在ng-class map的键中添加一个范围变量。

例如

        <b class="fixedClass" ng-class="{'classOne'       : x === 'foo',
                                         'classTwo-%(y)%' : x === 'bar'}">
            %(z)%
        </b>

有没有办法做这样的事情或有办法解决?

2 个答案:

答案 0 :(得分:2)

你可以做这样的事情

angular.module('App',[])
.controller('AppController',['$scope',function($scope){
    $scope.y = 10;
    $scope.val = 'bar';

    var fixedClass = "fixedClass ";

    $scope.getCSSClass = function(){
      if($scope.val === 'foo'){
        return fixedClass + 'classOne';
      } else {
        return fixedClass + 'classTwo-(' +$scope.y+ ')';
      }
    };
}])

在Html中

<body ng-controller="AppController">
  <b ng-class="getCSSClass()">hello</b>
</body>

以下是working代码

答案 1 :(得分:0)

根据您的要求,您似乎将静态类名与动态类名混合在一起。首选方法是

ng-class="['fixedClass',' fixedClass2',getDynamicStyle()]"

在范围中公开

getDynamicStyle以返回动态类名的值。您可以添加任意数量的动态样式。