Как вы можете получить доступ к свойству родительского компонента из дочернего компонента в Angular?

Использование декоратора @Input() для доступа к свойству родительского компонента в Angular

В Angular, декоратор @Input() позволяет дочернему компоненту взаимодействовать с родительским компонентом, получать от него данные и, следовательно, применять их внутри себя.

Он предоставляет механизм для передачи данных от родительского компонента к дочернему компоненту. С точки зрения дочернего компонента, свойства, которые помечены декоратором @Input, выглядят как обычные свойства, значение которых устанавливается из вне.

Вот простой пример того, как это работает:

// родительский компонент
@Component({
  selector: 'app-parent',
  template: `<app-child [childProp]="parentProp"></app-child>`
})
export class ParentComponent {
  parentProp = 'Hello, Child!';
}

// дочерний компонент
@Component({
  selector: 'app-child',
  template: `<p>{{childProp}}</p>`
})
export class ChildComponent {
  @Input() childProp: string;
}

В этом примере, parentProp – это свойство родительского компонента, которое мы хотим передать дочернему компоненту. Для этого мы используем синтаксис привязки к свойству в темплейте родительского компонента.

В компоненте потомке, мы используем декоратор @Input() для childProp – это сообщает Angular, что это свойство ожидает значения от родительского компонента.

Декоратор @Input() является клюевым элементом в общении между компонентами в Angular и способствует соблюдению принципа единичной ответственности, позволяя каждому компоненту обрабатывать свою собственную функциональность.

Related Questions

Считаете ли это полезным?