我需要将排名数改为明星 我使用以下代码: 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
});
}
};
答案 0 :(得分:4)
在你的$watch
中,你的病情if(newVal)
并没有让0
首先创造出明星。 :)
以下是它的原因:
scope.$watch('ratingValue', function (oldVal, newVal) {
if (angular.isDefined(newVal)) {
updateStars();
}
});