Мой вопрос ясен, я думаю, у меня есть код ниже в моем контроллере

vf.filtroses = [];
    FiltrosService.currentuser().success(function(data, status) {
        vf.filtroses = data;
    });

Я хочу проверить, если vf.filtroses имеет элементы или его пусто. я пробовал. длина и равно:

vf.nofiltros = false;
    vf.filtroses = [];
    FiltrosService.currentuser().success(function(data, status) {
        vf.filtroses = data;
    });
    if(angular.equals([], vf.filtroses)){
        vf.nofiltros = true;
    }

Но это не работает для меня!

Любые идеи плз ??

0
Smahane 6 Янв 2017 в 17:11

3 ответа

Лучший ответ

Поместите проверку размера в функцию успеха:

FiltrosService.currentuser().success(function(data, status) {
    vf.filtroses = data;
    if(!(vf.filtroses && vf.filtroses.length>0)){
             vf.nofiltros = true;
             }
    });
1
Sreehari S 6 Янв 2017 в 14:21

Вы можете использовать .length , чтобы проверить длину массива или списка объектов.

vf.nofiltros = false;
vf.filtroses = [];
FiltrosService.currentuser().success(function(data, status) {
    vf.filtroses = data;

    vf.nofiltros = vf.filtroses && vf.filtroses.length > 0;
});
0
Alok 6 Янв 2017 в 14:29

Отметьте null или undefined решит вашу проблему.

if(vf.filtroses!==undefined && vf.filtroses!=null){
    vf.nofiltros = true;
}
-1
Arun Shinde 6 Янв 2017 в 14:18