如何通过动态匹配属性在Angular JS中使用过滤器

时间:2016-01-05 18:25:40

标签: angularjs filter

我有一个用例,我需要根据各种下拉菜单(一次一个)的选择来过滤列表。我的目标是在下拉列表中调用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',以便显示数组中的所有对象。

这似乎不起作用。

这里有一些无效的方法吗?什么是实现这一目标的合适方式。 (即默认显示所有元素,并从下拉列表中选择,仅显示选择的某些深度属性与数组对象中的属性匹配的那些元素。)

我发现很少有帖子在上面展示,但无法掌握很多内容

0 个答案:

没有答案