Angular ng-class如果数组的长度小于X?

时间:2014-01-24 14:42:01

标签: javascript angularjs

我需要使用ng-class有条件地添加两个类。

如果checked有提交,我想添加类case,如果comments数组的长度超过10,我想添加类lots

如果案例有评论,则可以添加checked

<p class="comments" ng-class="{checked: case.comments}">

但这不起作用 - 它不会给我checkedlots

<p class="comments" ng-class="{checked: case.comments, lots: case.comments.length >= 10}">

我是否应该跳过尝试在HTML&amp;相反,在$ scope boolean上计算它,或者有没有办法在HTML中执行此操作?

更新: 没关系,错误在于我的观察技能,而不是代码。它以给定的形式工作,但我在错误的地方寻找结果。 D'哦。

1 个答案:

答案 0 :(得分:0)

为什么你不添加一个函数来管理它,比如

这是plunker sample

<强>控制器

$scope.hasComments = function(case){
   var commentsCode = 0;
   if (case.comments){
      commentsCode = 1;
   }
   if (case.comments.length >= 10){
      commentsCode = 2
   }

    return commentsCode ;
}

<强> HTML

<p class="comments" ng-class="{1: 'checked', 2: 'checked lots'}[hasComments(case)]">