问题描述
限时送ChatGPT账号..我已从 v 1.0.8 升级到 Angular 1.2.9,以帮助提高我的应用程序的性能.
我介绍了提高速度的轨道.
我曾经拥有的
我现在拥有的
我有分页来查找filteredItems的长度.那已经不存在了.此外,其他一些 JS 需要过滤项来进行日志记录、分析等
在 HTML 视图中,我可以获得应用过滤器后 ng-repeat 的长度
{{(结果 |过滤器:过滤器价格|过滤器:filterCarCategories |过滤器:filterCarTypes |过滤器: filterAirConditioning |过滤器:过滤器传输|过滤器:filterFourByFour |过滤器:filterFuelType |过滤器:filterNumberOfDoors |过滤器:filterOnAirport |过滤器:filterFuelPolicy |过滤器:filterUnlimitedMileage |过滤器:filterFreeCancellation |过滤器:filterTheftProtection |过滤器:filterCDW |过滤器:filterTaxesIncluded |过滤器:过滤器提供者).长度}}
有点啰嗦,但确实返回了我想要的数字.如何将其传递给 $scope ?
解决方案您可以创建一个中间变量来保存过滤后的数组:
data-ng-repeat="结果过滤结果 = (结果 | filter:filterPrice | filter:filterCarCategories | etc.)"
然后可以使用:
filteredResults.length
I have upgraded to Angular 1.2.9 from v 1.0.8 to help with the performance of my app.
I have introduced track by which has improved the speed.
What I used to have
<div class="result row"
data-ng-repeat="result in (filteredItems =
(results |
filter: filterPrice |
filter: filterCategories |
filter: filterTypes |
filter: filterAirConditioning |
filter: filterTransmission |
filter: filterFourByFour |
filter: filterFuelType |
filter: filterNumberOfDoors |
filter: filterOnAirport |
filter: filterFuelPolicy |
filter: filterUnlimitedMileage |
filter: filterFreeCancellation |
filter: filterTheftProtection |
filter: filterCDW |
filter: filterTaxesIncluded |
filter: filterProviders ) ) |
orderBy: [orderByOptions, orderByPriceLowToHigh, orderByPriority] |
limitTo: pageSize">
what I have now
<div class="result row"
data-ng-repeat="result in results |
filter: filterPrice |
filter: filterCarCategories |
filter: filterCarTypes |
filter: filterAirConditioning |
filter: filterTransmission |
filter: filterFourByFour |
filter: filterFuelType |
filter: filterNumberOfDoors |
filter: filterOnAirport |
filter: filterFuelPolicy |
filter: filterUnlimitedMileage |
filter: filterFreeCancellation |
filter: filterTheftProtection |
filter: filterCDW |
filter: filterTaxesIncluded |
filter: filterProviders |
orderBy: [orderByOptions, orderByPriceLowToHigh, orderByPriority] |
startFrom: currentPage*pageSize |
limitTo: pageSize track by $index">
I have pagination which looked for the length of filteredItems. That no longer exists. Also, some other JS needs the filteredItems for logging, analytics, etc
In the HTML view I can get the length of the ng-repeat after filters have been applied
{{(results |
filter: filterPrice |
filter: filterCarCategories |
filter: filterCarTypes |
filter: filterAirConditioning |
filter: filterTransmission |
filter: filterFourByFour |
filter: filterFuelType |
filter: filterNumberOfDoors |
filter: filterOnAirport |
filter: filterFuelPolicy |
filter: filterUnlimitedMileage |
filter: filterFreeCancellation |
filter: filterTheftProtection |
filter: filterCDW |
filter: filterTaxesIncluded |
filter: filterProviders)
.length}}
which is a bit of a mouthful but does return the number I want. How can I pass this to a $scope ?
解决方案You can create an intermediate variable that will hold the filtered array:
data-ng-repeat="result in filteredResults = (results | filter:filterPrice | filter:filterCarCategories | etc.)"
and then can use:
filteredResults.length
这篇关于Angular 获取过滤后的 ng-repeat 的长度的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
更多推荐
[db:关键词]
发布评论