долгое время lurker, впервые постер. На самом деле любите сообщество, которое у вас здесь есть :)AngularJS гнездо ng-repeat фильтр несколько параметров
Хорошо, что касается проблемы. Целью является фильтрация ng-repeat путем передачи 2 аргументов фильтру.
У меня есть вложенный ng-repeat, а во втором повторении мне нужно отфильтровать записи в зависимости от того, будет ли их продолжительность жизни в текущем месяце или нет.
Я сделал это раньше с помощью ng-if, но так как я использую разные CSS для нечетных и четных строк, это приводит к нежелательным результатам.
соответствующий HTML часть:
<div class="col-md-12" ng-repeat="month in monthTable">
<div class="col-md-12">
<h2>
<span>{{ month.start | amDateFormat:"MMMM" | uppercase}}</span>
</h2>
</div>
<div class="col-md-12">
<div ng-class-even="'calendar_row_even'" ng-class-odd="'calendar_row_odd'"
ng-repeat="bed in syncData.beds | filter: filterListItems(month, bed) |
orderBy:'timeFrom'">
// --> displays the unfiltered results for each month at the moment...
</div>
</div>
</div>
monthTable используется для определения начала и концы месяца + генерировать имена уместна локали, он заполнен так:
for (var i = 0; i < 12; i++) {
$scope.monthTable.push({
start: new Date(Date.UTC($scope.currentYear, i, 1)).getTime(),
end: new Date(Date.UTC($scope.currentYear, i+1, 1)).getTime()
})
};
Довольно до сих пор не объяснимо.
Теперь вот функция, которая «должна сделать» фильтрацию:
$scope.filterListItems = function (month, bed) {
console.log(month);
console.log(bed);
return true;
/*return (bed.timeFrom < month.end && bed.timeUntil >= month.start);
--> this should be the code.*/
};
Проблема в том, что я не могу получить фильтр, чтобы получать 2 аргумента. Если я пишу этот путь:
"filter: filterListItems(month, bed)"
месяц получает передается, но кровать неопределен
Если я пишу это так:
"filter: filterListItems:month:bed"
только кровать пропускается на , но месяц не определен
Я понятия не имею, что я делаю неправильно, было бы очень признательно, если бы кто-нибудь мог указать мне в правильном направлении.
спасибо, я буду стараться что. – markok
Добро пожаловать, спасибо за вашу оценку. – chalasr