$ scope变量和相同ng-class中的对象

时间:2014-06-09 20:51:29

标签: angularjs angularjs-scope

我有一个问题。

目前我正在使用:

<div ui-view ng-class="{transparent: loading}" class="{{bodyClass}}"></div>

哪个工作正常。但我想知道是否有一种方法可以在ng-class属性中执行这些操作。

类似的东西:

<div ui-view ng-class="{transparent: loading, bodyClass}"></div>

或者......

3 个答案:

答案 0 :(得分:0)

你可以做这样的事情

ng-class="{ 'transparent':loading,
        'bodyClass': condition}"

其中condition是应用condition的{​​{1}},这可能是你想要把东西放在ng-class,AFAIK中的唯一原因。

答案 1 :(得分:0)

ng-class="{ 'transparent':loading,
        'bodyClass': true}"

简单地将true置于bodyClass

的条件中

答案 2 :(得分:0)

<div ui-view ng-class="{transparent: loading, 'bodyClass': true}"></div>

虽然上面会将bodyClass作为字符串添加,但你可能想要它里面的值。

你可以在ng-class中调用一个函数并创建逻辑并返回一个包含你想要的类的字符串。

<div ui-view ng-class="getTheClass()"></div>
$scope.getTheClass = function() { 
   var class = $scope.bodyClass;
   if ($scope.loading) {
        class = class + ' transparent';
   }
   return class;
}