HomeChallengesRepsProblemsLeaderboardTake a challenge

A List and Its Row

The same table as the React sprint. One component owns the list, another owns a row, and the empty case is a real state rather than a blank table.

Intermediate20 min on the clock5 graded checks · 100 pointsAngular Components That Fit TogetherPro
Graded by reading your code against the checklist below.

What you build

  • Row taking a user input
  • UserList building the table out of Rows
  • An empty list renders the empty label, not an empty table
  • The caption says how many there are
  • Every row tracked by id

Done means

The table is built from Row components and an empty list says so in a sentence.

How it is graded

Published in full, before you start — every point is one of these and there is nothing else.

  1. One row per user, rendered by Row+30Lists and their rows
  2. Rows are tracked by id+15Angular control flow
  3. An empty list renders the empty state+25Lists and their rows
  4. The caption counts them+20Lists and their rows
  5. UserList imports Row+10Standalone components and inject()

What it teaches

Standalone components and inject()intermediate

Standalone components declare what they need instead of belonging to an NgModule, and inject() gets a dependency without a constructor parameter — together they are most of what changed in modern Angular.

The rest of Angular Components That Fit Together