我有一个用例,我需要根据各种下拉菜单(一次一个)的选择来过滤列表。我的目标是在下拉列表中调用ng-change调用一个通用函数,如下所示:
$scope.filterTasks = function(selection, filterOn) {
if (filterOn === "trade") {
$scope.tasks.forEach(function(t) {
if ((t.team.code === selection.team.code) && (t.deal.code === selection.deal.code)) {
t.filtered = "trade";
}
$scope.filterBy = "trade";
});
}
else if (filterOn === "cluster") {
//similar approach in this case
}
}
在html中,我正在做类似的事情:
<li ng-repeat="t in tasks | filter : {filtered: '{{filterBy}}'} : true track by t.tid" class="li_row" ng-if="!t.hide">
默认情况下,我将过滤属性保持为'show'和$ scope.filterBy ='show',以便显示数组中的所有对象。
这似乎不起作用。
这里有一些无效的方法吗?什么是实现这一目标的合适方式。 (即默认显示所有元素,并从下拉列表中选择,仅显示选择的某些深度属性与数组对象中的属性匹配的那些元素。)
我发现很少有帖子在上面展示,但无法掌握很多内容