Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

532
Views
What is the difference between [ngFor] and [ngForOf] in angular2?

As per my understanding, Both are doing the same functions. But,

  • ngFor would be works like as collections?.

  • ngForOf would be works like as generics?.


Is my understanding is correct? or Could you please share more difference's(details) about ngFor and ngForOf?

about 4 years ago · Santiago Trujillo
3 answers
Answer question

0

ngFor and ngForOf are not two distinct things - they are actually the selectors of the NgForOf directive.

If you examine the source, you'll see that the NgForOf directive has as its selector: [ngFor][ngForOf] , meaning that both attributes need to be present on an element for the directive to 'activate' so to speak.

When you use *ngFor, the Angular compiler de-sugars that syntax into its cannonical form which has both attributes on the element.

So,

  <div *ngFor="let item of items"></div>

desugars to:

 <template [ngFor]="let item of items">
     <div></div>
 </template>

This first de-sugaring is due to the '*'. The next de-sugaring is because of the micro syntax: "let item of items". The Angular compiler de-sugars that to:

 <template ngFor let-item="$implicit" [ngForOf]="items">
   <div>...</div>
 </template>

(where you can think of $implicit as an internal variable that the directive uses to refer to the current item in the iteration).

In its canonical form, the ngFor attribute is just a marker, while the ngForOf attribute is actually an input to the directive that points to the the list of things you want to iterate over.

You can check out the Angular microsyntax guide to learn more.

about 4 years ago · Santiago Trujillo Report

0

ngFor is a structural directive of Angular which replaces the ng-repeat attribute of AngularJS

You can use ngFor as a shorthand

<li *ngFor="let item of items">{{item.name}}</li>

or as the longhand version

<template ngFor let-item="$implicit" [ngForOf]="items">
  {{item.name}}
</template>
about 4 years ago · Santiago Trujillo Report

0

In my opinion what I got from the angular document,

  • [ngFor] is not type safe
  • [NgForOf] is type safe

Because both class details are little different

  • ngFor Class type is any type

  • But ngForOf class type is generic ngForOf : NgIterable<T>


ngForOf looks like generics which I have already mentioned in my question.

about 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!