Compare query decorators for single vs multiple templates.
Skip to solutionKEEP THE
mediumFrontend
What is the difference between @ViewChildren and @ViewChild?
1.2k views
01
Understand the problem
componentsqueries
02
Attempt it yourself
Sketch your approach before reading the solution — that's what interviews test.
Nudge consolestandby
Stuck? Beam a request up — the console returns a conceptual nudge that guides your logic without spoiling the implementation.
03
Study the solution
@ViewChild queries the first matching element/component/directive and returns a single reference. @ViewChildren queries all matches in the component template and returns a dynamic QueryList that updates automatically as the DOM updates.
Solution ready — 2 min read
Classified // press E to declassify
04
Read the code
Querying multiple template items using @ViewChildren
import { Component, ViewChildren, QueryList, AfterViewInit, ElementRef } from '@angular/core';
@Component({
selector: 'app-list',
standalone: true,
template: '<div #item>Item A</div><div #item>Item B</div><div #item>Item C</div>'
})
export class ListComponent implements AfterViewInit {
@ViewChildren('item') items!: QueryList<ElementRef>;
ngAfterViewInit() {
console.log('Total items matched:', this.items.length);
this.items.changes.subscribe(changes => {
console.log('List changed! New count:', changes.length);
});
}
}05
Join the discussion
Discussion (0)
Sign in to join the discussion.
No responses yet. Be the first to share what you think.
Transmission complete // awaiting log
KEEP THE
STREAK ALIVE.
Dossier 14 of 121 decoded in the Angular track. One more won't hurt.