У меня есть проблема с фильтром вложенного объекта. В элементе выбора я выбираю параметр фильтра (значение объекта), а во входе I набираю текст, который ищет его в объектном ключе.
Пытался написать собственный фильтр с рекурсией для глубокого поиска, но он не работает. input
- параметр для объекта в ng-repeat, param1
- для ng-модели select, а param2
- для ng-модели ввода.Угловой: настраиваемый фильтр для рекурсивного поиска в вложенном объекте
JS
.filter('personFilter', function($filter) {
return function(input, param1, param2) {
var output = {};
for (var prop in input) {
if (typeof input[prop] == 'object' || prop != param1 && input[prop] != param2) {
$filter('personFilter')(input[prop]);
} else {
output[key] = input[key];
}
}
return output;
}
Вот plunker: http://plnkr.co/edit/83lPNRWFy6wa9U2FkMfH?p=preview
Я надеюсь, что кто-то дать мне несколько советов
кажется, формат данных не является действительным. вы должны получить сообщение об ошибке «Uncaught SyntaxError: Неожиданный токен:' потому что формат может быть как-то вроде '[{'node1': {node2: ''}}]' not '['node1': {...}]' –