NgFor

export directive NgFor

exported from angular2/common defined in angular2/src/common/directives/ng_for.ts (line 11)

The NgFor directive instantiates a template once per item from an iterable. The context for each instantiated template inherits from the outer context with the given loop variable set to the current item from the iterable.

Local Variables

NgFor provides several exported values that can be aliased to local variables:

Change Propagation

When the contents of the iterator changes, NgFor makes the corresponding changes to the DOM:

Angular uses object identity to track insertions and deletions within the iterator and reproduce those changes in the DOM. This has important implications for animations and any stateful controls (such as <input> elements which accept user input) that are present. Inserted rows can be animated in, deleted rows can be animated out, and unchanged rows retain any unsaved state such as user input.

It is possible for the identities of elements in the iterator to change while the data does not. This can happen, for example, if the iterator produced from an RPC to the server, and that RPC is re-run. Even if the data hasn't changed, the second response will produce objects with different identities, and Angular will tear down the entire DOM and rebuild it (as if all old elements were deleted and all new elements inserted). This is an expensive operation and should be avoided if possible.

Syntax

Example

See a live demo for a more detailed example.

Selectors

[ngFor][ngForOf]

Inputs

ng-for-of bound to NgFor.ngForOf

ng-for-template bound to NgFor.ngForTemplate

Constructor

constructor(_viewContainer: ViewContainerRef, _templateRef: TemplateRef, _iterableDiffers: IterableDiffers, _cdr: ChangeDetectorRef)

Not Yet Documented

Members

ngForOf

Not Yet Documented

ngForTemplate

Not Yet Documented

ngDoCheck()

Not Yet Documented