Why calling detectChanges() inside component doesn't update values, but wrapping code in setTimeout() does it?

后端 未结 2 666
情歌与酒
情歌与酒 2021-02-13 10:43

I\'m trying to automatically select the first value from set of options in

export class ExampleComponent implements OnI         


        
2条回答
  •  难免孤独
    2021-02-13 11:20

    this.cdr.detectChanges() only runs change detection for the current component (and descendants). If setFirstItemActive() causes changes elsewhere this is not covered. setTimeout() or zone.run(...) or ApplicationRef.tick() causes change detection to be run for the whole application and therefore every binding is covered, not only the current component.

提交回复
热议问题