Angular $filter可以对Object Array进行字符串模糊搜索,
但是我的每个对象都有一个base64 pic的属性.
var MyObjects = [{ property1: 'ab',property2: 'cd',pic: '4AAQSkZJRgABAQEASABIAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBw.....' },{ property1: 'ef',property2: 'gh',{ .... }],result = $filter('filter')(MyObjects,$scope.searchText);
解决方法
Angular的过滤器可以使用函数作为过滤数组的参数.过滤器将选择函数返回true的项目.
您可以使用此功能来实现您的目的.
Here is the official documentation
因此,您可以执行以下操作,仅将搜索文本与您想要的两个属性进行比较:
var filterFunction = function(item) { var val = $scope.searchText return item.property1.indexOf(val || '') !== -1 || item.property2.indexOf(val || '') !== -1; } result = $filter('filter')(MyObjects,filterFunction,$scope.searchText);