Bird
0
0

You have a list of users with some having empty names:

hard📝 component behavior Q15 of 15
Angular - Directives
You have a list of users with some having empty names:
users = [{name: 'Alice'}, {name: ''}, {name: 'Bob'}, {name: null}];

How can you use *ngFor to render only users with a non-empty, non-null name?
A<code>*ngFor="let user of users" <div *ngIf="user.name">{{ user.name }}</div></code>
B<code>*ngFor="let user of users | filter: user.name"</code>
C<code>*ngFor="let user of users" <div *ngIf="user.name !== ''">{{ user.name }}</div></code>
D<code>*ngFor="let user of users" <ng-container *ngIf="user.name">{{ user.name }}</ng-container></code>
Step-by-Step Solution
Solution:
  1. Step 1: Understand filtering in template

    Angular's *ngFor does not support filtering directly. We use *ngIf inside the loop to conditionally show elements.
  2. Step 2: Check conditions for non-empty names

    Using *ngIf="user.name" filters out empty strings and null values because they are falsy in Angular templates.
  3. Step 3: Compare options

    *ngFor="let user of users" <div *ngIf="user.name">{{ user.name }}</div> correctly uses *ngIf="user.name" inside the loop. *ngFor="let user of users" <ng-container *ngIf="user.name">{{ user.name }}</ng-container> has invalid syntax mixing *ngFor and *ngIf on the same element. *ngFor="let user of users | filter: user.name" uses a non-existent filter pipe. *ngFor="let user of users" <div *ngIf="user.name !== ''">{{ user.name }}</div> misses filtering null values.
  4. Final Answer:

    *ngFor="let user of users" <div *ngIf="user.name">{{ user.name }}</div> -> Option A
  5. Quick Check:

    Use *ngIf inside *ngFor to filter falsy names = D [OK]
Quick Trick: Use *ngIf inside *ngFor to skip empty or null items [OK]
Common Mistakes:
  • Trying to filter list directly in *ngFor
  • Using invalid syntax combining *ngFor and *ngIf
  • Not filtering null values properly

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More Angular Quizzes