2016-03-25 3 views
-2

Я пытаюсь фильтровать объект в угловом контроллере. Я всегда получаю неопределенный результат в моей переменной и не могу понять, почему. Я сделал снимок экрана моей консоли. где вы можете увидеть объект и функцию фильтра. Что я делаю не так?фильтрация объектов с угловым

OK здесь основная часть функции. Подводит назад неопределенным, так что есть что-то сделать с тем, как я использую фильтр ?:

this.update_lead_status = function (lead, sts) { 

      this.status = $filter('filter')(leads.leads_status, { ls_id: 3 }); 

     }; 

enter image description here

объект JSON, который предоставляется услуга:

leads.leads_status [ 
{ls_id: 1, ls_class: 'lost', ls_name: 'Status1'}, 
{ls_id: 2, ls_class: 'lost2', ls_name: 'Status2'} 
] 

I я пытаюсь вернуть объект объекта на основе ls_id и присваивать переменные по одному в мою область! Благодаря

+1

, пожалуйста, предоставьте [mcve] –

+0

. Здесь мы снова рассмотрим еще один из ваших вопросов без достаточной детализации, чтобы кто-нибудь мог устранить проблему, а сама проблема даже не понятна. – charlietfl

+0

Что вы получаете от '$ filter (' filter ') (leads.leads_status, {ls_id:' 3 '}); '? –

ответ

0

мне пришлось добавить [0] до конца моей функции фильтра, как это:

var status = $filter('filter')(leads.leads_status, { ls_id: sts })[0]; 

Теперь она отлично работает для меня!

+0

Это означало, что оригинал не возвращал неопределенный, но фактический массив, как его предполагалось. Также нет необходимости в угловом здесь, массивы имеют собственный метод фильтрации, который работает одинаково. – ste2425