【问题标题】:How to get 0 value length in Angularjs?如何在Angularjs中获得0值长度?
【发布时间】:2017-09-01 14:30:57
【问题描述】:

如何在angularjs中得到问题open eyes0 values length

My Plunker

  • 在我的 plunker 中,我得到了 (i) 问题总数 (ii) 赞成票总数和 (iii) [值 1] 的睁眼总和的解决方案,我们期望的是 (iv) 如何获取Open Eyes 0 个值length

  • 如何获取Open Eyes [0 values] length,请参考my plunker 不知道哪里做错了

  • 如果我使用这个{{question.openeyes.length == '0'} 我得到的答案是False, 期望的答案是:2

我的 HTML :-

<p>Total no of questions :{{question.length}} </p>

<p>Total no of upvotes : {{resultValue | sumOfValue:'upvotes'}}</p>

<p>Total no of Open Eyes of [1 values] : {{resultValue | sumOfValue:'openeyes'}}</p>

<p class="color">Total no of Open Eyes of [0 value] : {{question.openeyes.length == '0'}}</p>

我的数据:-

    $scope.question = [
   {
       "_id": "5936a70095e3a85804aae050",
       "user": {
           "_id": "58072aba0f82a61823c434df",
           "displayName": "Table 1",
           "roles": ["admin"],
           "profileImageURL": "./modules/users/client/img/ownprofile/uploads/1f08308f43b0674d61a2cc5d95deb5ef",
           "email": "ms@e21designs.com",
           "categories": []
       },
       "__v": 1,
       "openeyers": ["sarawana@gmail.com"],
       "openeyes": 1,
       "upvoters": ["sarawana@gmail.com"],
       "upvotes": 1,
       "title": "what is cricket",
       "created": "2017-06-06T12:58:40.204Z"
},

   {
       "_id": "5936a70095e3a85804aae050",
       "user": {
           "_id": "58072aba0f82a61823c434df",
           "displayName": "Table 1",
           "roles": ["admin"],
           "profileImageURL": "./modules/users/client/img/ownprofile/uploads/1f08308f43b0674d61a2cc5d95deb5ef",
           "email": "ms@e21designs.com",
           "categories": []
       },
       "__v": 1,
       "openeyers": [],
       "openeyes": 0,
       "upvoters": ["sarawana@gmail.com"],
       "upvotes": 1,
       "title": "who fan you are",
       "created": "2017-06-06T12:58:40.204Z"
},

   {
       "_id": "5936a70095e3a85804aae050",
       "user": {
           "_id": "58072aba0f82a61823c434df",
           "displayName": "Table 1",
           "roles": ["admin"],
           "profileImageURL": "./modules/users/client/img/ownprofile/uploads/1f08308f43b0674d61a2cc5d95deb5ef",
           "email": "ms@e21designs.com",
           "categories": []
       },
       "__v": 1,
       "openeyers": [],
       "openeyes": 0,
       "upvoters": [  "ms@e21designs.com", "vp@gmail.com"],
       "upvotes": 2,
       "title": "best of the day",
       "created": "2017-06-06T12:58:40.204Z"
},
{
       "_id": "5936a70095e3a85804aae050",
       "user": {
           "_id": "58072aba0f82a61823c434df",
           "displayName": "Table 1",
           "roles": ["admin"],
           "profileImageURL": "./modules/users/client/img/ownprofile/uploads/1f08308f43b0674d61a2cc5d95deb5ef",
           "email": "ms@e21designs.com",
           "categories": []
       },
       "__v": 1,
       "openeyers": ["ms@e21designs.com"],
       "openeyes": 1,
       "upvoters": ["ms@e21designs.com","vp@gmail.com", "ms@gmail.com"],
       "upvotes": 0,
       "title": "he is best",
       "created": "2017-06-06T12:58:40.204Z"
}]
  • 如果有人知道解决方案,请同时更新my plunker 以了解确切的解决方案,谢谢

【问题讨论】:

标签: html css angularjs


【解决方案1】:

您可以创建过滤器或调用函数来获取Open Eyes [0 个值] length 的长度。但更倾向于使用过滤器,因为后者存在性能问题。

方法一直接调用函数

JS

  $scope.openZero=function(q){
    var count =0;
    for(var i=0;i<q.length;i++){
      if(q[i].openeyes==0)
       count ++;         
    }
    return count;
  }

HTML

<p class="color">Total no of Open Eyes of [0 value] : {{openZero(question)}}</p>

工作的 Plunkerhttp://plnkr.co/edit/7XedtmD6JlqpkgM3B7on?p=preview


方法二使用过滤器

JS

.filter('sumOfZero', function() {
            return function(data, key) {
                if (angular.isUndefined(data) && angular.isUndefined(key)) return 0;
                var count = 0;
                for (var i = 0; i < data.length; i++) {
                    if (data[i].openeyes == 0) count++;
                }
                return count;
            }

HTML

<p class="color">Total no of Open Eyes of [0 value] : {{resultValue | sumOfZeros:'openeyes'}}</p>

工作的Plunkerhttp://plnkr.co/edit/RjNWeqWEYuzbBdew8s7V?p=preview

【讨论】:

  • 您好 Vivz 感谢您的宝贵回答将尽快检查并更新您...
  • 是否有可能使用而不是 {{question.length}} 来计算问题的数量,因为它在我的项目中不起作用,它仅在 plunker 中运行良好,如果您知道解决方案,请更新....
  • 你为什么删除答案?
  • 错误地,它很酷,如果可能的话,还有一个帮助回答这个问题:-stackoverflow.com/questions/45976603/… 谢谢..
猜你喜欢
  • 2016-11-04
  • 2020-12-25
  • 1970-01-01
  • 1970-01-01
  • 2015-11-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多