如何验证angularjs中的列表是否为空

时间:2017-01-06 14:11:39

标签: javascript angularjs

我的问题很清楚,我猜,我的控制器中有波纹管代码

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

我想验证vf.filtroses是否有元素或它是否为空。 我尝试了.lenght和等于:

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

但它对我不起作用!

任何想法plz ??

3 个答案:

答案 0 :(得分:1)

将尺寸检查放在成功功能中:

FiltrosService.currentuser().success(function(data, status) {
    vf.filtroses = data;
    if(!(vf.filtroses && vf.filtroses.length>0)){
             vf.nofiltros = true;
             }
    });

答案 1 :(得分:0)

您可以使用 .length 来检查数组或对象列表的长度。

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

    vf.nofiltros = vf.filtroses && vf.filtroses.length > 0;
});

答案 2 :(得分:-1)

检查null或undefined将解决您的问题。

if(vf.filtroses!==undefined && vf.filtroses!=null){
    vf.nofiltros = true;
}