gpt4 book ai didi

javascript - ng-repeat 内的多参数 Angular 过滤器

转载 作者:行者123 更新时间:2023-11-29 17:04:48 24 4
gpt4 key购买 nike

我正在尝试根据接收两个参数的自定义过滤器在 ng-repeat 中创建一个过滤器。同时,这些参数之一是重复对象的一个​​属性。

所以在我的 ng-repeat 代码中我有:

<tr ng-repeat="player in myTeam | bitwiseAnd:{firstNumber: player.Flag, secondNumber: type}">

但它不起作用。如果我调试它,过滤器将接收第一个未定义的参数。

我已阅读文档:https://docs.angularjs.org/guide/filter

我也阅读了 SO 中的多个相关问题

没有成功。

我创建了一个 plunker,当我将过滤器用作表达式时,我们可以在其中查看过滤器如何正常工作,因此问题可能出在 ng-repeat 语句中发送值。

这里是 plunker: http://plnkr.co/edit/IGvDBq?p=preview

谢谢你的时间

最佳答案

我的团队 | bitwiseAndbitwise 过滤器应用于整个 team 数组,而不是球员。所以效果就像写

<tr ng-repeat="player in true">

如果过滤器返回真。你想要的是一个返回数组的过滤器。您可以创建自己的过滤器或使用 filterfilter。后一个很难与你的结合起来,但它是可能的。首先,您在 Controller 中定义一个谓词函数

$scope.bitwiseAnd = function(type) {
return function(player) {
return $filter('bitwiseAnd')(player.Flag, type);
}
}

该函数应用您的 bitwiseAnd 过滤器,并且它本身应用于每个玩家。然后使用具有该功能的 filterfilter:

<tr ng-repeat="player in myTeam | filter:bitwiseAnd(type)>

Working Plunker

关于javascript - ng-repeat 内的多参数 Angular 过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25552688/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com