В Angular 2 как обновить значение @Input внутри компонента?

#angular

#angular

Вопрос:

в этом примере SkillsSelectComponent получает входные навыки от родительского компонента.

 @Component({
  selector: 'skills-select',
  template: `{{ skills | json }}`
})
export class SkillsSelectComponent {

  @Input() skills;

  ngOnInit() {
    console.log('skills', this.skills);
  }
}
  

Если навыки меняются после создания компонента, {{skills }} внутри шаблона будут обновлены, но как обнаружить изменения внутри компонента?

Ответ №1:

Я использовал ngOnChanges

 ngOnChanges(changes: any): void {
    console.log('change', changes.skills.currentValue);
}