Javascript 在显示使用AngularJS获取的记录时,如何在视图内部循环?

Javascript 在显示使用AngularJS获取的记录时,如何在视图内部循环?,javascript,angularjs,Javascript,Angularjs,我开始学AngularJS了。我对JavaScript/jQuery很有经验,但现在我在理解AngularJS的基础知识方面遇到了一些困难。我有一个简短的问题要问任何有一点点经验的人 我有一个显示“用户”的表(来自GET查询) 每个“用户中的用户”都有类似以下模式:{name:'',评级:4,评论:10} 评级是1到5之间的整数,其中每个表示一颗星(五颗星中的一颗星)。对于评级中的每个int,我想画一个IMG标签,显示一颗星星 所以我有这样的想法: <tbody> <t

我开始学AngularJS了。我对JavaScript/jQuery很有经验,但现在我在理解AngularJS的基础知识方面遇到了一些困难。我有一个简短的问题要问任何有一点点经验的人

我有一个显示“用户”的表(来自GET查询)

每个“用户中的用户”都有类似以下模式:{name:'',评级:4,评论:10}

评级是1到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.name}
{{user.reviews}
知道如何正确设置该循环吗?显然,这是行不通的。我希望它使用{{user.rating}}来确定需要画多少颗星


感谢您的帮助。

使用ng repeat,我看到的唯一方法是在作用域中定义一个函数,返回n个元素的数组:

$scope.stars = function(amount) {
    var result = [];
    for (var i = 0; i < amount; i++) {
         result.push(i);
    }
    return result;
}

但您也可以定义自己的指令,该指令循环并显示指令正文N次。

为了补充这个答案,在这个问题的答案中有许多很好的例子:在这里@JB Nizet-谢谢,看起来很棒。这绝对是迄今为止我见过的最简单的方法。我喜欢使用函数并将值作为参数直接传入的方式。我试图做一些类似的事情,但不知道如何将值从记录传递到控制器。我不知道如何访问它,因此与其他解决方案(如使用过滤器)相比,这种情况看起来非常简单。这有一个缺点,即在每个摘要循环中创建一个新数组。如果您知道最多有5颗星,那么您也可以在范围内有一个阵列(第一个阵列包含0颗星,第二个阵列包含1颗星,第三个阵列包含2颗星,等等),并使用
ng repeat=“arrayOfArrays[user.rating]中的星星”
此问题的答案将解决您的问题。可能是@Stewie的复制品我看了一下,但我不知道如何使用它。对于这样一个简单的场景,过滤方法似乎也太复杂了。
ng-repeat="star in stars(user.rating)"