2015-05-26 2 views
2

Так что я пытаюсь добиться своего рода эффекта переключения на limitTo в угловом с предопределенной суммой. Под этим я подразумеваю, что данные, входящие в него, имеют значение «showMore» на нем, которое является логическим. Если верно, повторение, в котором я участвую, будет ограничено 5, иначе не было бы никакого предела. Мне интересно, как лучше всего подойти к такой проблеме? Так что у меня есть это для повторения, например:Угловой, toggle limitTo через boolean (custom limitTo?)

<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"> 

Но я думаю, там должно быть более элегантным способом. Буду признателен за любые советы/ввод. Благодаря!

ответ

2

Нет необходимости использовать ng-if. Вы можете сделать это на самом HTML, используя выражение в limitTo, например limitTo: filter.showMore ? limitValue: filter.values.length.

Markup

<div ng-repeat="item in filter.values | limitTo: filter.showMore ? limitValue: filter.values.length track by $index"> 
+0

очень хороший и чистый! – ajmajmajma

0

Вы можете попробовать сделать эту логику внутри своего контроллера. Что-то вроде этого:

if (filter.showMore) { 
    $scope.limitValue = 5; 
else { 
    $scope.limitValue = null; 
} 

И ваш HTML не будет выглядеть примерно так:

<div ng-repeat="item in filter.values track by $index | limitTo: limitValue"> 
Смежные вопросы