【发布时间】:2015-04-23 17:24:48
【问题描述】:
我是 angularJs 的初学者
我有二维的 json 数据:
[
{
"nom": "Name 1",
"subventions": [
{
"beneficiaire": "ben\u00e9f Phipippe C mars 2015",
"montant": "7<span class='space'><\/span>898,99",
"annee": 1,
"trimestre": 4,
"infoAdditionnelle": "<p>info mars - 2015<\/p>\r\n<div id=\"nested_deluminate_fullscreen_workaround\" style=\"background-color: rgba(0, 0, 0, 0);\">\u00a0<\/div>"
},
{
"beneficiaire": "cvbcvbn",
"projet": "<p>cvnnncbcnbcbn<\/p>",
"circonscription": "456sdxfvxc",
"montant": "131,00",
"annee": 3,
"trimestre": 2,
"infoAdditionnelle": "<p>test<\/p>"
}
]
},
{
"nom": "Name 2",
"subventions": [
{
"beneficiaire": "pierre m",
"montant": "1<span class='space'><\/span>000,00",
"annee": 3,
"trimestre": 1,
"infoAdditionnelle": "<p>avtil 2015-16<\/p>"}
]
},
{
"nom": "Name 3",
"subventions": [
{
"beneficiaire": "bene pierre p avril 2015-16",
"montant": "1<span class='space'><\/span>222,00",
"annee": 3,
"trimestre": 1,
"infoAdditionnelle": "<p>p avril 2015-16<\/p>"
}
]
}
]
如您所见,有一个包含字段“nom”和“subventions”的人员数组,“subventions 也是一个数组
我有“annee”和“trimestre”字段的过滤器,我想要做的是当没有结果显示时,显示“无结果”消息
为了计算结果的数量,我使用了这个函数
$scope.filterArray = function(resultsPersonnes) {
var data = resultsPersonnes.filter(function(prop) {
return prop.subventions[0].annee == $scope.annee.id;
});
if ($scope.myFilter.trimestre > 0) {
return data.filter(function(prop) {
return prop.subventions[0].trimestre == $scope.myFilter.trimestre;
});
} else {
return data
}
}
它不适用于所有情况,您可以在此处查看示例 http://plnkr.co/edit/9TbO0Hl9LziUS2B6AsAr?p=preview
如果您点击“Trimestre”中的“Juillet - septembre”,我得到了一个结果,但显示“没有结果”消息!!!
你看到错误了吗?请帮忙!
非常感谢
【问题讨论】:
-
因为 filterArray(resultsPersonnes).length 真的是 0
-
我认为这是因为 [0] 因为它总是检查第一行。但是如何修复它?我应该放什么?我迷路了!
标签: angularjs