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.length、 はarrayRentadora[index]になりますundefined

たとえば、 の場合arrayRentadora = ["Banana", "Orange", "Apple", "Mango"]、長さは 4 で、 にarrayRentadora[4]なりますundefined

常に配列から値を選択するようにするには、代わりに次のようにします。

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