Angular ng-class无法正确呈现HTML

时间:2014-04-08 04:48:49

标签: javascript html angularjs ng-class

我是AngularJS的新手,我有下一个问题。我用这样的ng-class计算我的body标签的CSS类。

<body ng-class="getCSSclassBody(Sucursal.SucursalEmpresaRubroNombre)">

问题是有时正确地呈现HTML,但有时候类是空的。看起来HTML的渲染速度比控制器中函数的评估速度快。任何人都可以指导我如何解决这个问题吗?

    $scope.getCSSclassBody = function(rubro)
{
    if(rubro == 'Vestimenta'){
        var index = getRandomInt(0,arrayVestimenta.length);
        return arrayVestimenta[index];
    }
    else if(rubro == 'Peluquería'){
        var index = getRandomInt(0,arrayPeluqueria.length);
        return arrayPeluqueria[index];
    }
    else if(rubro == 'Gastronomía'){
        var index = getRandomInt(0,arrayGastronomia.length);
        return arrayGastronomia[index];
    }
    else if(rubro == 'Rentadora'){
        var index = getRandomInt(0,arrayRentadora.length);
        return arrayRentadora[index];
    }
}

感谢您的建议。

1 个答案:

答案 0 :(得分:0)

如果getRandomInt(0, arrayRentadora.length)生成的数字等于arrayRentadora.length,则arrayRentadora[index]将为undefined

例如,如果arrayRentadora = ["Banana", "Orange", "Apple", "Mango"],则长度为4,arrayRentadora[4]undefined

为了确保您始终从数组中选择一个值,您需要这样:

var index = getRandomInt(0, arrayRentadora.length - 1);