Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Ng repeat可根据值比较和计数对象_Javascript_Angularjs_Angularjs Ng Repeat - Fatal编程技术网

Javascript Ng repeat可根据值比较和计数对象

Javascript Ng repeat可根据值比较和计数对象,javascript,angularjs,angularjs-ng-repeat,Javascript,Angularjs,Angularjs Ng Repeat,我需要帮助使NG-REPEAT和整个limitTo了解食品成分NG显示逻辑,我如何实现这一点?换句话说,我如何将该逻辑插入ng repeat和limiter JS端/HTML端?任何帮助都将不胜感激。谢谢 这就是我在代码中的意思 <li class="xx" ng-repeat="food in foodlist.$models | filter:search:false | limitTo : foodlength as foodResults track by fo

我需要帮助使NG-REPEAT和整个limitTo了解食品成分NG显示逻辑,我如何实现这一点?换句话说,我如何将该逻辑插入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>

有几种方法可以实现这一点。 您的ng show逻辑基本上应该在ng repeat中移动

IMO最简单的方法是向控制器中的$scope添加过滤函数,如下所示:

... // Controller creation code

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

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

下一步是更改ng repeat中的过滤器值:

... 就一般知识而言,您也可以编写自定义过滤器,但我认为在您的情况下没有必要这样做。 以下是方法:

我的朋友,你的问题不太明白。你想要什么样的行为?对不起。注意食物成分,我在那个里显示食物的细节,但基于随机布尔值,无论我是在搜索模式下还是其他布尔值,我都显示那个食物。我想做的是让ng在食品ng秀中的同一个逻辑比较器面前重复和限制。基本上,我应该展示10种食物,但考虑到这些布尔值,我只列出了其中的3种,ng show认为这是10种,在食物成分逻辑之前,我如何做逻辑,或者将其向上移动?@ShyAgam简言之。。我总是想根据Limito foodlength显示10,ng repeat确实显示了10,但稍后我的食物成分逻辑可能会隐藏一些或更多,这是我不想要的。我总是想展示10。所以我的问题是,我怎样才能把这个逻辑向上移动,所以它显示10,不管有多少之前它必须隐藏/删除,因为它们不满足食品成分的ng显示逻辑。向上移动是我的目标,朋友,有什么想法吗?:谢谢你,伙计。然而,我已经有了filter:search:false,它允许我根据搜索进行过滤,例如草莓,有可能将它们都放在那里吗?或者更好的是,我如何制作一些可以过滤的东西:filterFoodItems或filter:search:false基于随机布尔。。这可能吗?如果某个X布尔值为真,则使用filter:search:false,如果不使用filter:filterFoodItems。。。我在返回筛选器时遇到问题:js part$scope.filterFoodItems=functionfood{ifbooleanX{return food.$att.random&&s..;}else中的search:false{return filter:search:false;或类似..很抱歉打扰了man。我给你的代码只是主要思想。你必须将ng show中的逻辑与你拥有的搜索变量结合起来,并将其移动到filterFoodItems函数。