【发布时间】:2016-05-05 01:04:39
【问题描述】:
我在两列中显示 ng-repeat 内容。
使用此代码可以正常工作:
<div class=storerow ng-repeat="store in stores track by $index" ng-if="$index%2==0">
<div ng-repeat="i in [$index,$index+1]" ng-if="stores[i]!=null" class="ngrepeatstore">
<div class="image-container" style="background-image: url({{stores[i].image}})" ng-click="tileClicked({{stores[i].id}})">
</div>
</div>
但是,当我添加一个过滤器时,它会破坏 NG 重复并且不显示任何内容:
<div class=storerow ng-repeat="store in stores track by $index" ng-if="$index%2==0">
<div ng-repeat="i in [$index,$index+1] | filter: greaterThan('order', 0) | orderBy:'order'" ng-if="stores[i]!=null" class="ngrepeatstore">
<div class="image-container" style="background-image: url({{stores[i].image}})" ng-click="tileClicked({{stores[i].id}})">
</div>
</div>
大于的 .js
$scope.greaterThan = function(prop, val){
return function(item){
return item[prop] > val;
}}
我尝试将过滤器添加到第一个 ng-repeat- 但是这不起作用,因为它只是将过滤器应用于整体内容(即,如果只有一个项目大于 0,它会显示所有项目 - 而不仅仅是那些大于 0)。
【问题讨论】:
-
尝试删除“orderBy”过滤器只是为了隔离原因是否来自“greaterThan()”过滤器。我们可以查看您的“greaterThan()”代码吗?或者您可以设置一个示例小提琴吗?
-
我的大于代码已添加。我删除了“orderBy”过滤器,但仍然没有内容出现。
标签: javascript angularjs angularjs-ng-repeat ng-repeat