Performance: Component selector usage
How Angular components are identified and rendered affects DOM size and rendering speed.
@Component({ selector: 'app-header' }) export class HeaderComponent {}@Component({ selector: 'app-root, app-header, app-footer' }) export class MyComponent {}| Pattern | DOM Operations | Reflows | Paint Cost | Verdict |
|---|---|---|---|---|
| Multiple selectors or generic selectors | Multiple DOM queries | 2+ reflows per component | High paint cost due to style recalculations | [X] Bad |
| Single unique element selector | Single DOM query | 1 reflow per component | Lower paint cost | [OK] Good |
| Attribute selectors | DOM scan for attributes | 1-2 extra reflows | Moderate paint cost | [!] OK |
selector property in an Angular component define?selector: '[appHighlight]', how would you use it in HTML?@Component({ selector: 'my-widget', template: 'Hi
' }) export class MyWidgetComponent {} Used in HTML as: <my-widget></my-widget>Pass the test and this pattern moves unknown