2013-10-03 3 views
2

Я пытаюсь применить угловой фильтр к следующему массиву после выполнения инструкций здесь http://docs.angularjs.org/api/ng.filter:filter:Как применить угловой фильтр к массиву

[{"id":"compute-1.amazonaws.com_Delivery","id":"compute-1.amazonaws.com_TaskJob","id":"UpdateFiles","id":"TaskRequest"}] 

Say значение фильтров:

filter = "TaskRequest"; 


    filter = "Taskjob"; 


    filter = "UpdateFiles"; 


    filter = "Delivery"; 

Как можно применить угловую фильтр:

Я пробовал:

conData = JSON.stringify(data); 
results = $filter('filter')(conData, filter, false); 

Я также попытался:

results = $filter('filter')(conData, filter, true); 
results = $filter('filter')(conData, filter); 

Когда я анализирую результаты ничего не меняется фильтра, и я получаю обратно тот же массив.

Так, если фильтр применен был "Доставка"

массив результатов будет: [{ "ID": "вычислительно 1.amazonaws.com_Delivery"}]

Что я делаю неправильно Вот?

+0

Немного не по теме, это событие 'change' внутри директивы? – tymeJV

ответ

0

Не уверен, что это ошибка копирования/вставки, но массив, который вы предоставили в своем первом извлечении источника, является неправильным (или, по крайней мере, не будет делать то, что вы ожидаете). Если вы посмотрите внимательно, ключевой идентификатор повторяется внутри одного и того же объекта JSON. Попробуйте с помощью следующего массива:

[ 
{"id":"compute-1.amazonaws.com_Delivery"}, 
{"id":"compute-1.amazonaws.com_TaskJob"}, 
{"id":"UpdateFiles"}, 
{"id":"TaskRequest"} 
]; 

КСТАТИ я собрал более легкую версию кода доступной here, где фильтрация работает.

+0

Ошибка была применена к JSON.stringify без необходимости – Milligran

Смежные вопросы