【发布时间】:2014-02-14 18:27:06
【问题描述】:
我在 Map 上有一个 ngRepeat,每次迭代都会给我一个“(键,值)”对。我现在需要为此编写一个过滤器来限制我得到的一些结果。我将过滤器定义为具有两个参数。我在 ngRepeat 调用中传递了一个参数,所以我应该期望得到两个参数。我手动传递的参数是一个布尔值。在调试器中设置了这两个参数,第二个参数是“true”,这是我传递的,所以我希望第一个参数对应于我的“(键,值)”对。我得到的第一个参数是一个基本上是空的对象。
我的 HTML 中的引用如下所示:
<div ng-repeat="(name, thing) in thingMap | limitThings:showOnlyFailed">
“thingMap”是一个以“name”属性为键的映射,其值为“thing”对象。
这是我的过滤器定义,代表我希望在第一个参数中看到的内容:
thingModule.filter("limitThings", ['ThingsService', function(ThingsService) {
return function(entry, showOnlyFailed) {
return !showOnlyFailed || ThingsService.anyFailuresInList(entry.thing);
};
}]);
当我进入调试器时,“entry”的值就是“Object {}”。
【问题讨论】:
标签: javascript angularjs angularjs-ng-repeat