我正在尝试学习角度。我很难理解其中的一部分:http://www.learn-angular.org/#!/lessons/repeaters
在该示例中,我们将循环访问集合并显示每个元素。足够简单。
我不明白的是:集合被命名为"产品",每个元素都被称为"产品",JS代码中没有一个单词是产品。角度如何知道通过"产品"调用元素?集合必须是复数形式并且名称必须是单数元素吗?
标识符在视图中分配(也称为 HTML(:
<tr ng-repeat="product in products">
ng-repeat
采用一个表达式,该表达式定义它将在集合中分配元素的标识符。因此,在这种情况下,您将 products
中的每个项目绑定到 product
.然后可以在作用域中访问它,因此tr
的任何子元素都可以作为$scope.product
访问作用域上的product
。
您可以将标识符命名为所需的任何名称。 product in products
与 bananas in apple
一样有效,只要您的集合在$scope.apple
上,并且您使用标识符bananas
来引用每个集合中的项目。
ng-repeat
的第一个变量名的作用域为该ng-repeat
。它仅在模板上,不在 JS 代码中,并且仅在该重复块中可用。所以,它基本上是编造的。常见的惯例是人们称之为复数数组的单数形式(即 for product in products
、for item in items
等(,但该变量仅指ng-repeat
内模板上的当前ng-repeat
元素。