如何在Angular中应用两个包含过滤器?

时间:2015-08-25 21:46:54

标签: angularjs angularjs-filter

<tr ng-repeat="thing in things| filter: {toDpt: filterReceived} && {fromDpt: filterSent}">

我试图向AND部门展示东西(dpt)。我的filterReceived和filterSent正在切换两个按钮。两者都有效。

问题是:只有第一个过滤器正常工作。如果我把fromDpt放到之前,那么只有fromDpt才能工作。

感谢您的任何建议。

1 个答案:

答案 0 :(得分:0)

此代码的目标是显示部门或部门的门票。 $ scope.filters包含要应用的过滤器。用户可以同时查看其部门发送或接收的门票。

使用Angular Filters,我可以调用我的ticketsFilter函数,将票证作为第一个默认参数传递,并过滤为第二个可选参数。

控制器:

$scope.filters.toDpt = 'Finance';
$scope.filters.fromDpt = 'Food';

过滤器:

app.filter('ticketsFilter', function (){
    return function (items, filters){
        console.log
        var filtered = [];
        for (var i=0; i < items.length; i++){
            var item = items[i];
            //CHECKING FROM AND TO DPT.
            if (item.fromDpt == filters.sent){
                filtered.push(item);
            } else if (item.toDpt == filters.received){
                filtered.push(item);
            };
        };
        return filtered;
    };
});

标记:

<tr ng-repeat="ticket in tickets | ticketsFilter:filters"> 
相关问题