Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Confused by AngularJS ng-repeat syntax

What is the meaning of the singular/plural syntax in, say, ng-repeat="product in store.products"?

like image 369
dpren Avatar asked Jun 09 '14 19:06

dpren


3 Answers

Singular/plural is used just for common sense and code readability - it doesn't have to be singular/plural. You can do

ng-repeat="whatever in store.products"` 

and then have the whatever object available inside (like: <img ng-src="{{whatever.images[0]}}" />).

In your case, store.products can't be changed since it refers to an actual object, while product is a completely custom name to be used in the repeat loop.

Fairly common in programming. Like the other answer said, it's similar to the for..in syntax.

like image 104
Shomz Avatar answered Oct 04 '22 23:10

Shomz


This is essentially the same syntax as a Javascript for...in loop. It means for someTempVar in someArrayOrObject.

like image 27
Jon7 Avatar answered Oct 04 '22 23:10

Jon7


The directive ng-repeat="product in products" creates a new variable product that you can reference inside your template. There is no singular/plural interpolation going on.

like image 34
Austin Mullins Avatar answered Oct 04 '22 23:10

Austin Mullins