如何在angularjs中获取问题open eyes
0 values length
?
在我的 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
以了解确切的解决方案,谢谢
最佳答案
您可以创建过滤器或调用函数来获取 Open Eyes
[0 values] 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>
工作 Plunker:http://plnkr.co/edit/7XedtmD6JlqpkgM3B7on?p=preview
方法 2:使用过滤器
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>
工作 Plunker:http://plnkr.co/edit/RjNWeqWEYuzbBdew8s7V?p=preview
关于html - 如何在 Angularjs 中获得 0 值长度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45811469/