我將一個參數傳遞給一個指令。它是要在limitTo
過濾器使用的ng-repeat
動態limitTo在ng-repeat中過濾
<tr ng-repeat="trans in transactions | limitTo:limit = limit > 0 ? limit : 100000">
這可能是該指令將不需要的上限,需要的數量。我可以輕鬆地完成上面列出的內容,但我不喜歡固定的上限。在我的情況下,它永遠不會被擊中,但感覺馬虎。
有沒有人有更優雅的解決方案?
我將一個參數傳遞給一個指令。它是要在limitTo
過濾器使用的ng-repeat
動態limitTo在ng-repeat中過濾
<tr ng-repeat="trans in transactions | limitTo:limit = limit > 0 ? limit : 100000">
這可能是該指令將不需要的上限,需要的數量。我可以輕鬆地完成上面列出的內容,但我不喜歡固定的上限。在我的情況下,它永遠不會被擊中,但感覺馬虎。
有沒有人有更優雅的解決方案?
可以傳遞的Infinity
代替100000:1
<tr ng-repeat="trans in transactions | limitTo:limit = limit > 0 ? limit : 'Infinity'">
角的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;
....
你可以定義自己的過濾器:
app.filter('optionalLimitTo', function($filter) {
function optionalLimitTo(input, optionalLimit) {
if (optionalLimit) {
return $filter('limitTo')(input, optionalLimit);
}
else {
return input;
}
}
return optionalLimitTo;
}
另一種解決方法是設置限制等於數組len GHT。
示例:我想表現的分頁表與搜索輸入,並且當輸入值是從「」,分頁應該被禁用,使得它可以顯示在同一視圖中所有過濾項不同。
<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">