我是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];
}
}
感谢您的建议。
答案 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);