因此,我尝试使用预定义的量在angularTo上实现某种切换效果。我的意思是,进来的数据的值为“showMore”,它是一个布尔值。如果是真的,我所在的重复将被限制为5,否则将没有任何限制。我想知道解决这样一个问题的最佳方法是什么?所以我有重复的例子:
<div ng-repeat="item in filter.values track by $index" class="builder-result-filter-value checkbox" value="item" update-filter="updateFilter">
我想要这样的事情:
$scope.limitValue = 5;
<div ng-repeat="item in filter.values track by $index | limitTo: limitValue" class="builder-result-filter-value checkbox" value="item" update-filter="updateFilter">
但是过滤数据上有值
filter.showMore = boolean;
所以我希望这个布尔值能够控制重复使用limitTo:5,还是没有限制。
我想到了一种做某事的方法,比如
<div ng-if="filter.showMore" ng-repeat="item in filter.values track by $index | limitTo: limitValue">
<div ng-if="!filter.showMore" ng-repeat="item in filter.values track by $index">
但我认为必须有更优雅的方式。非常感谢任何建议/意见。谢谢!
答案 0 :(得分:2)
无需使用ng-if
。您可以使用limitTo
中的表达式(例如limitTo: filter.showMore ? limitValue: filter.values.length
。
<强>标记强>
<div ng-repeat="item in filter.values | limitTo: filter.showMore ? limitValue: filter.values.length track by $index">
答案 1 :(得分:0)
您可以尝试在控制器中执行该逻辑。像这样:
if (filter.showMore) {
$scope.limitValue = 5;
else {
$scope.limitValue = null;
}
你的html看起来像这样:
<div ng-repeat="item in filter.values track by $index | limitTo: limitValue">