Угловые 2 сеттеры против ngOnChanges

Если вы хотите запустить некоторый код после изменений компонентов/директивных входов, вы можете использовать сеттеры или крючок ngOnChanges, но каковы преимущества использования одного на другом? Или это одно и то же?

  @Input()
  set someInput( val ) {
    this.runSomething();
  }

  ngOnChanges(changes) {
     this.runSomething();
  }

Ответ 1

Одно из преимуществ ngOnChanges() заключается в том, что вы получаете все изменения сразу, если ваш компонент имеет несколько @Input() s.
Если ваш код зависит только от одного @Input() то, пожалуй, лучшим вариантом является наборщик.