2016-09-27 59 views
0

我在我的应用程序中创建了多个复选框过滤器,以便用户可以根据不同的属性过滤数据。 这里是什么,我做了一个总结:我有连接到$范围在我的控制器对象的数组:如何获得给定主阵列和过滤数组的未过滤对象?

$scope.objects = response.data; 

我根据我在控制器的一些标准过滤此阵:

var filteredObjects = $scope.objects; 
for(var i in filterType){ 
    filteredObjects = filterData(filteredObjects, filterType[i].selected, filterType[i].filterProp); 
    } 

最后我分配到范围:

$scope.filteredObjects = filteredObjects; 

现在我想通过未经过滤的对象的筛选数据功能,这样我就可以把所有过滤的对象,如果用户选择了多个通道eckboxes。 因此,给定$ scope.objects和filteredObjects我怎么能做到这一点?我正在尝试使用filterFilter,但我不知道如何将filteredObjects传递给该函数。我感谢任何帮助。

回答

0

你可以通过未经过滤的对象过滤掉过滤的对象

$scope.unfilteredObjects = $scope.objects.filter(function(obj){ 
    return $scope.filteredObjects.indexOf(obj) === -1; 
})