我将参数传递给指令。这是limitTo
ng-repeat
过滤器上需要使用的数字
<tr ng-repeat="trans in transactions | limitTo:limit = limit > 0 ? limit : 100000">
指令可能不需要上限。我可以很容易地做我上面列出的,但我不喜欢固定的上限。在我的情况下,它永远不会被击中,但它感觉马虎。
有没有人有更优雅的解决方案?
答案 0 :(得分:2)
您可以传递Infinity
而不是100000:
<tr ng-repeat="trans in transactions | limitTo:limit = limit > 0 ? limit : 'Infinity'">
Angular的limitTo()
即使是特殊案例也可以确保它做正确的事情:
function limitToFilter() {
return function(input, limit, begin) {
if (Math.abs(Number(limit)) === Infinity) {
limit = Number(limit);
} else {
limit = toInt(limit);
}
if (isNaN(limit)) return input;
....
答案 1 :(得分:0)
您可以定义自己的过滤器:
hp = list(filter(lambda x: x[0] > cutoff, depth_tuples))
答案 2 :(得分:0)
另一个解决方案是将限制设置为等于数组长度。
示例:我想显示带有搜索输入的分页表,当输入值与''不同时,应禁用分页,以便它可以在同一视图中显示所有已过滤的项目。
<input type="text" ng-model="searchLink" placeholder="Search">
...
<tr ng-repeat="link in links | orderBy:order:reverse | startFrom: (!searchLink || '') && ((currentPage - 1) * pageSize) | limitTo: (!searchLink && pageSize) || links.length | filter:searchLink">