0

我是 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];
    }
}

谢谢指教。

4

1 回答 1

0

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

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

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

var index = getRandomInt(0, arrayRentadora.length - 1);
于 2014-04-08T05:37:13.430 回答