Ng-повторить для сравнения и подсчета объектов на основе значения - PullRequest
0 голосов
/ 18 февраля 2019

Мне нужна помощь, чтобы «сделать» NG-REPEAT и весь лимит. Чтобы узнать о логике пищевого компонента ng-show, как я могу этого достичь?Другими словами, как я могу вставить эту логику в ng-repeat и limiter?

Сторона JS / сторона HTML?Любая помощь будет оценена.Спасибо!

Вот что я имею в виду в коде;

<li 
    class="xx" 
    ng-repeat="food in foodlist.$models | filter:search:false | limitTo : foodlength as foodResults track by food.id">

    <food 
        data-food="xxx" 
        ng-show="(food.$att.random && (search.SomeBoolean || OtherBoolean)) || !food.$att.random"
        ui-sref="xx({xx: //irrelvant stuff })"
        class="xx-xxxx">
   </food>
</li>

1 Ответ

0 голосов
/ 18 февраля 2019

Есть несколько способов добиться этого.Ваша логика ng-show должна в основном двигаться внутри ng-repeat.

Самый простой способ ИМО - добавить функцию фильтрации к $scope в вашем контроллере, например:

... // Controller creation code

function YourController($scope, ...)
{
    ... // Controller code

    $scope.filterFoodItems = function(food)
    {
        return (food.$att.random && (search.SomeBoolean || OtherBoolean)) || !food.$att.random;
    };
}

Следующим шагом является изменение значения filter в вашем ng-repeat:

<li 
    class="xx" 
    ng-repeat="food in foodlist.$models | filter:filterFoodItems | limitTo : foodlength as foodResults track by food.id">
...
</li>

Просто для общего знания, вы также можете написать собственный фильтр, но я не думаю, что это необходимо в вашем случае.Вот как это сделать: https://toddmotto.com/everything-about-custom-filters-in-angular-js/

...