Middle
45
questionbank

Каковы отличия между различными типами привязки данных в Angular?

Получайте ответы на вопросы в реальном времени с Sobes Copilot
Ответ от нейросети sobes.tech

Односторонняя привязка данных:

  • Привязка свойств Property Binding [property]="value": Поток данных из компонента в шаблон. Используется для установки значений атрибутов HTML-элементов (например, [src], [href], [disabled]).
  • Интерполяция {{ value }}: Поток данных из компонента в шаблон. Преобразует значение выражения в строку и вставляет его в DOM.
  • Привязка атрибутов Attribute Binding [attr.attribute-name]="value": Поток данных из компонента в шаблон. Используется для установки значений атрибутов, которые не имеют соответствующих свойств DOM (например, aria-*, colspan).

Двусторонняя привязка данных:

  • [(ngModel)]="value": Сокращение для комбинации привязки свойств и привязки событий ([ngModel]="value" и (ngModelChange)="value = $event"). Обеспечивает синхронизацию данных между свойством компонента и элементом формы. Требует импорта FormsModule.

Односторонняя привязка событий:

  • Привязка событий Event Binding (event)="method()": Поток данных из шаблона в компонент. Реагирует на события DOM (например, click, input, submit) и вызывает метод в компоненте.
Тип привязкиНаправление потока данныхСинтаксисПримеры использования
Привязка свойствКомпонент -> Шаблон[src]="imgUrl"Установка src изображения
ИнтерполяцияКомпонент -> Шаблон{{ title }}Отображение текста заголовка
Привязка атрибутовКомпонент -> Шаблон[attr.colspan]="colspan"Установка colspan в табличной ячейке
Двусторонняя привязкаКомпонент <=> Шаблон[(ngModel)]="name"Связывание поля ввода формы с переменной компонента
Привязка событийШаблон -> Компонент(click)="onClick()"Вызов метода компонента при клике на кнопку