Встречается на собеседованиях • сегодня

В чем разница между onPush и Default в рамках стратегий проверки изменений

Стратегии ChangeDetection в Angular определяют, как и когда компонент проверяет изменения:

Default (ранее CheckAlways):

  • Проверяет изменения при любом событии (клик, таймер, HTTP и т.д.)
  • Проверяет все дерево компонентов
  • Менее производительна, но проще в использовании

OnPush (ранее CheckOnce):

  • Проверяет изменения только при:
    • Изменении @Input() свойств (по ссылке)
    • Событиях внутри компонента (клики)
    • Явном вызове detectChanges()
    • Асинхронных pipe (| async)
  • Повышает производительность
  • Требует иммутабельного подхода

Пример:

typescript
@Component({
  selector: 'app-example',
  templateUrl: './example.component.html',
  changeDetection: ChangeDetectionStrategy.OnPush // или Default
})
export class ExampleComponent {
  @Input() data: any;
}
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы