나는 ng-repeat
에있는 필터를 가지고 있으며 중첩 된 개체의 문자열을 검색 문자열과 비교합니다. 검색 문자열이 객체에서 발견되면 true를 반환합니다.모든 자식 요소를 반환하는 중첩 된 개체의 필터
검색 문자열이 개체의 문자열과 일치 할 때 필터는 해당 개체에 대해 true를 반환하고 일치하는 개체의 모든 중첩 개체에 대해 true를 반환하도록이 기능을 확장하는 방법을 찾고 있습니다. 이 트리보기, 노드를 검색하고 일치하는 모든 자식 노드를 표시하려면).
어떻게하면됩니까?
내 필터는 다음과 같다 : I 발견
.filter('deepFilter', function ($filter) {
return function(text) {
return function (value) {
if(text && text.length > 0) {
var searchTerm = text;
if (angular.isObject(value)) {
var found = false;
angular.forEach(value, function(v) {
found = found || $filter('deepFilter')(searchTerm)(v);
});
return found;
} else if (angular.isString(value)) {
if (value.indexOf(searchTerm) !== -1) {
return true;
} else {
return false;
}
}
} else {
return true;
}
};
};
});