我开始学习AngularJS。我对JavaScript / jQuery很有经验,但我现在正在理解AngularJS的基础知识。对于任何有一点经验的人,我都有一个简单的问题。
我有一个表格,显示“用户”(来自GET查询)。
每个“用户中的用户”都会有以下架构:{name:'',rating:4,reviews:10}
等级是从1到5的int,其中每个代表一颗星(5颗可能的恒星中)。对于评级中的每个int,我想绘制一个显示单个星的IMG标记。
所以我有这样的事情:
<tbody>
<tr ng-repeat="user in users">
<td>{{user.name}}</td>
<td>
<img src="star.jpg" ng-repeat="n in 1 .. user.rating">
</td>
<td>{{user.reviews}}</td>
</tr>
</tbody>
知道如何正确设置该循环吗?显然这不起作用。我希望使用{{user.rating}}来确定需要绘制多少个星星。
感谢您的协助。
答案 0 :(得分:2)
使用ng-repeat,我看到的唯一方法是在作用域中定义一个函数,返回一个包含n个元素的数组:
$scope.stars = function(amount) {
var result = [];
for (var i = 0; i < amount; i++) {
result.push(i);
}
return result;
}
然后,在视图中,使用
ng-repeat="star in stars(user.rating)"
但您也可以定义自己的指令,该指令循环并显示指令的主体N次。