ng-class从动态值设置类名并添加额外条件

时间:2017-02-24 09:26:33

标签: angularjs

我一直在寻找从值中添加classname的语法 在放弃之前,我发现here一个有效的答案 现在的问题是你不能像平常那样添加,并添加更多条件。

Ex2的正确语法是什么?

Ex1:这有效:

ng-class="{'{{obj.status}}' : obj.status}"

Ex2:这不起作用:(在控制台中也没有错误)

ng-class="{'{{obj.status}}': obj.status, 'isEmployee': status == 'isEmployee'}"

更新:

我现在没有改变任何相关的东西><给我一些时间来弄清楚到底是怎么回事......

我知道我做了什么让它发挥作用。我试图改变别的东西,我把它添加到控制器使其工作,因为它基本上是相同的数据:

$scope.status= obj.status

这就是我的解决方案。

复制/粘贴按钮的确切代码,因为你们都说它应该有效。你能发现它出了什么问题吗?

<md-button ng-class="{'{{editedObject.interviewStatus}}' : editedObject.interviewStatus, 'isEmployee': interviewStatus == 'isEmployee'}" aria-label="OpenStatusMenu" ng-click="$mdMenu.open($event)">

2 个答案:

答案 0 :(得分:1)

请检查您的obj和状态值是什么样的?

var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope,$http,$q) {
  $scope.obj = {
    "status":"abc"
  }
  $scope.status = "isEmployee";
});
.abc{
    color: blue;
  }
  .isEmployee{
    background-color: pink;
  }
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myApp" ng-controller="myCtrl">
<span ng-class="{'{{obj.status}}': obj.status, 'isEmployee': status == 'isEmployee'}">both class added</span>
</div>

答案 1 :(得分:0)

逗号应该有效。您可能最后忘记了"