Javascript 嵌套对象上的角度过滤器

Javascript 嵌套对象上的角度过滤器,javascript,angularjs,angular-filters,Javascript,Angularjs,Angular Filters,我有一个JSON对象数组,正在通过搜索进行过滤。在搜索中,我将搜索上的ng model设置为search.$,但它只搜索每个对象的顶部,但我需要搜索嵌套在对象内部的所有对象。在Angular中有没有一种简单的方法可以做到这一点?可以使用自定义递归过滤函数(对于文档,请参见),以下示例对此进行了说明: 角度模块('deepFilterTestApp',[]) .filter('deepFilter',函数($filter){ 返回函数(文本){ 返回函数(值){ var searchTerm=文

我有一个JSON对象数组,正在通过搜索进行过滤。在搜索中,我将搜索上的
ng model
设置为
search.$
,但它只搜索每个对象的顶部,但我需要搜索嵌套在对象内部的所有对象。在Angular中有没有一种简单的方法可以做到这一点?

可以使用自定义递归过滤函数(对于文档,请参见),以下示例对此进行了说明:

角度模块('deepFilterTestApp',[]) .filter('deepFilter',函数($filter){ 返回函数(文本){ 返回函数(值){ var searchTerm=文本; if(角度等高线(值)){ var=false; 角度。forEach(值,函数(v,k){ found=found | |$filter('deepFilter')(搜索词)(v); }); 发现退货; }else if(角度isString(值)){ if(value.indexOf(searchTerm)!=-1){ 返回true; }否则{ 返回false; } } }; }; }) .controller('DeepFilterTestController',函数($scope){ $scope.myArray=[ { 物业1:{ deepProperty1:“Deepppp1!!” }, 物业2:{ deepProperty2:“Deeep2!!” } }, { 物业1:{ deepProperty1:“dooop1!!” }, 物业2:{ deepProperty2:{ 更深层的属性1:“deeepest 2!!” } } } ]; });

“dooop”:{{myArray | filter:('dooop'| deepFilter)}

“deeep”:{myArray | filter:('deeep'| deepFilter)}

“deeeppp”:{{myArray | filter:('deeeppp'| deepFilter)}

“deeepest”:{{myArray | filter:('deeepest'| deepFilter)}


你能提供一些代码供我们分析吗?我在这里放了一个JSFIDLE:但是我在搜索时遇到了一个错误:
未捕获错误:[$rootScope:infdig]10$digest()迭代。流产deeepest 2并且它有子项
deeepest 3
deeepest 3将有
deeepest 4,我也想看看这些?