将排名数量更改为开始

时间:2017-04-07 19:53:24

标签: javascript angularjs ranking

我需要将排名数改为明星 我使用以下代码: http://jsfiddle.net/AhakQ/13/

但是当排名为零时 - 我看不到任何星星 在这个例子中

$scope.ratings = [{
    current: 0,
    max: 10
}, {
    current: 3,
    max: 5
}]; 

如何更改?

这就是我想要改变的东西

            var updateStars = function () {
                scope.stars = [];
                var isempty = 1;
                for (var i = 0; i < scope.max; i++) {
                    scope.stars.push({
                        filled: i < scope.ratingValue
                    });
                    isempty = 0;
                }
                if(isempty == 1)
                {
                   scope.stars.push({
                   rating: i < scope.ratingValue
                   });
                }
            };

1 个答案:

答案 0 :(得分:4)

在你的$watch中,你的病情if(newVal)并没有让0首先创造出明星。 :)

以下是它的原因:

scope.$watch('ratingValue', function (oldVal, newVal) {
    if (angular.isDefined(newVal)) {
        updateStars();
    }
});

working fiddle