NgFor is a built-in template directive that makes it easy to iterate over something like an array or an object and create a template for each item.
This post covers Angular 2 and up
Here’s a basic example of its use:
<ul>
<li *ngFor="let user of users">{{ user.name }}</li>
</ul>
This will output html that looks like this:
<ul>
<li>Al Dente</li>
<li>D. Liver</li>
<li>Pepe Roni</li>
</ul>
let user creates a local variable that will be available in the template.
of users means that we’ll be iterating over the users iterable that should be made available in our component.
The * character before ngFor creates a parent template. It’s a shortcut to the following syntax: template=“ngFor let item of items”.
Available local variables
You can also set local variables for the following exported values: index, first, last, even and odd. index will return the current loop index, and the other values with provide a boolean indicating if the value is true or false. For example:
<ul>
<li *ngFor="let user of users; let i = index; let odd = odd"
[class.odd]="odd">
{{i + 1}}. {{ user.name }}
</li>
</ul>
Will produce the following markup:
<ul>
<li>1. Al Dente</li>
<li class="odd">2. D. Liver</li>
<li>3. Pepe Roni</li>
</ul>
See Also
*ngIf
ngSwitch