收集中的角中继器元素

时间:2017-05-22 17:42:33

标签: angularjs

我正在努力学习角度。我很难理解其中的一部分:http://www.learn-angular.org/#!/lessons/repeaters

在该示例中,我们循环遍历集合并显示每个元素。很容易。

我不明白的是:该集合被命名为“products”,并且每个元素都被称为“product”,而JS代码中的单词是product。角度如何知道通过“产品”调用元素?集合是否必须是复数并且名称中的元素是单数的?

2 个答案:

答案 0 :(得分:0)

标识符在视图中分配(也称为HTML):

<tr ng-repeat="product in products">

ng-repeat采用一个表达式来定义它将在集合中分配元素的标识符。因此,在这种情况下,您将products中的每个项目绑定到product。然后可以在范围内访问它,因此tr的任何子元素都可以product访问范围$scope.product

您可以根据需要为标识符命名。 product in productsbananas in apple一样有效,只要您的收藏集在$scope.apple上,并且您使用标识符bananas来引用每个集合中的项目。

答案 1 :(得分:0)

传递给ng-repeat的第一个变量名称的范围是ng-repeat。它仅在模板上,而不在JS代码中,并且仅在该重复块中可用。所以,它基本上就是弥补了。常见的约定让人称其为复数数组的单数形式(即for product in productsfor item in items等),但该变量指的是当前{{1} ng-repeat内的模板上的元素。