Use*_*535 6 javascript json angularjs angularjs-ng-repeat
想要div
根据从JSON收到的值显示n次.
我的目标:
$scope.pro = [
{
product: "chicken",
rating: 3
},
{
product: "fish",
rating: 3
},
{
product: "pizza",
rating: 4
}
];
Run Code Online (Sandbox Code Playgroud)
如果一个产品有3个评级意味着div
必须显示三次,如星级.
如何在angular.js中做到这一点?
你能试试这个吗
JS
$scope.pro = [{product: "chicken", rating: 3},{product: "fish", rating: 3},{product: "pizza", rating: 4}];
var ratingTotal = 5;
$scope.getRepeater = function() {
return new Array(ratingTotal);
};
Run Code Online (Sandbox Code Playgroud)
网页
<!DOCTYPE html>
<html ng-app="myApp">
<head>
<script data-require="angular.js@1.3.15" data-semver="1.3.15" src="https://code.angularjs.org/1.3.15/angular.js"></script>
<link rel="stylesheet" href="style.css" />
<script src="script.js"></script>
</head>
<body ng-controller="myController">
<div ng-repeat="array in pro">{{array.product}} <span class="star-icon" ng-repeat="r in getRepeater() track by $index" ng-class="{'full': ($index + 1) <= array.rating, 'half': ($index + .5) == array.rating}" ></span></div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
注意:所选星星的类名称被提及为“完整”,并且可以随意更改它。