Загрузка…
Загрузка…
Data binding связывает модель компонента с шаблоном. В Angular четыре классические формы:
{{ expr }} (текст в DOM).[prop]="expr" (свойство элемента/дочернего компонента).(event)="handler($event)".[(ngModel)] или пара [value] + (input) / model().<img [src]="avatarUrl" [alt]="name" />
<button (click)="save()">Save</button>
<input [(ngModel)]="name" />
<p>Привет, {{ name }}</p>@Component({
standalone: true,
imports: [FormsModule],
template: `...`,
})
export class ProfileFormComponent {
name = 'Ada';
avatarUrl = '/a.png';
save() { /* persist */ }
}[disabled]="isOff" — property binding; строковая интерполяция атрибута часто даёт неверный тип.(click) — DOM‑событие; @Output — событие дочернего компонента.count() — тоже привязка к состоянию.[attr.aria-label] нужен, когда нет DOM‑property.Хороший ответ на собеседовании — не только список синтаксисов, но и направление потока данных в каждом случае.
Binding — мост «класс ↔ шаблон». Различайте направление: в шаблон (property/interpolation), из шаблона (event), в обе стороны (two‑way).
