Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Типи Прив'язки Даних в Angular | Components and Templates
Вступ до Angular

bookТипи Прив'язки Даних в Angular

Коли компонент і його шаблон взаємодіють, між ними можна передавати дані та події різними способами. Це називається прив'язкою даних.

В Angular існує чотири типи прив'язки даних, кожен з яких виконує певну функцію.

Розглянемо, як вони працюють, на прикладі простого компонента завдання:

task-component.ts

task-component.ts

copy

Тут створюється об'єкт завдання з трьома властивостями: id, title та completed. Ці властивості описують конкретне завдання — його назву та стан виконання.

Інтерполяція

Наприклад, якщо у вас є змінна, така як task.title, ви можете обгорнути її у {{ }}, і Angular відобразить її значення у HTML.

task-component.html

task-component.html

copy

Коли Angular обробляє шаблон, він знаходить вираз {{ task.title }} і замінює його на поточне значення task.title з компонента.

Якщо значення — 'Buy groceries', саме це з'явиться всередині тегу <h3>. Той самий процес застосовується до будь-яких інших значень, які ви інтерполюєте.

Отже, інтерполяція є односторонньою: дані передаються з компонента до шаблону, і користувач просто бачить результат.

Прив'язка властивостей

Іноді потрібно не лише відображати текст — а й керувати поведінкою елементів, наприклад, вимикати кнопку, встановлювати джерело зображення або позначати прапорець.

Angular дозволяє прив'язувати значення до властивостей HTML-елементів за допомогою квадратних дужок.

task-component.html

task-component.html

copy

Уявіть, що завдання вже виконано (task.completed = true). У такому випадку ми хочемо, щоб кнопка була неактивною. Коли Angular бачить [disabled]="task.completed", він бере значення з компонента і прив'язує його до властивості disabled DOM-елемента.

Якщо значення true, кнопка стає неактивною. Якщо false, кнопка залишається активною.

Знову ж таки, це одностороннє зв'язування: дані передаються від компонента до шаблону, і шаблон змінюється відповідно до поточного стану об'єкта task.

Зв'язування подій

Щоб ваша програма реагувала на дії користувача (наприклад, кліки), Angular надає механізм зв'язування подій. Коли користувач взаємодіє з елементом, ви можете "перехопити" цю подію та викликати метод у вашому компоненті.

Додамо метод до компонента:

task-component.ts

task-component.ts

copy

І оновіть шаблон:

task-component.html

task-component.html

copy

Коли користувач натискає кнопку, Angular виявляє подію (click) і викликає метод toggleComplete() у компоненті. Цей метод змінює значення task.completed. Після цього Angular повторно відображає шаблон, і завдяки інтерполяції ({{ task.completed ? 'Undo' : 'Complete' }}) текст кнопки миттєво оновлюється.

У цьому випадку дані рухаються в одному напрямку — від шаблону до компонента (ви передаєте дію всередину).

Двостороннє зв'язування

Іноді потрібно, щоб зміни в шаблоні (наприклад, введення в поле input) одразу оновлювали компонент — і зміни в компоненті одразу відображалися в шаблоні. Angular спрощує це завдяки двосторонньому зв'язуванню з використанням [(ngModel)].

Важливо: Щоб використовувати [(ngModel)], необхідно імпортувати FormsModule — як показано нижче:

task-component.ts

task-component.ts

copy

А ось шаблон:

task-component.html

task-component.html

copy

Саме тут відбувається магія двостороннього зв'язування. Коли користувач вводить текст у поле введення, Angular автоматично оновлює task.title у компоненті. А коли task.title змінюється у компоненті, Angular миттєво відображає цю зміну у полі введення.

На відміну від інших типів зв'язування, двостороннє зв'язування постійно підтримує синхронізацію між компонентом і шаблоном.

Основні відмінності

Кожен із цих методів прив'язки має свої особливості та найкраще підходить для різних сценаріїв взаємодії з даними в межах застосунку.

1. Який тип прив'язки даних використовується для відображення значення змінної компонента в шаблоні?

2. Який тип прив'язки даних дозволяє оновлювати змінну компонента через форму та підтримує її синхронізацію з елементом введення в шаблоні?

3. Який тип прив'язки даних слід використовувати, щоб зробити кнопку неактивною після завершення завдання?

4. Який тип прив'язки даних дозволяє викликати метод компонента при натисканні кнопки?

question mark

Який тип прив'язки даних використовується для відображення значення змінної компонента в шаблоні?

Select the correct answer

question mark

Який тип прив'язки даних дозволяє оновлювати змінну компонента через форму та підтримує її синхронізацію з елементом введення в шаблоні?

Select the correct answer

question mark

Який тип прив'язки даних слід використовувати, щоб зробити кнопку неактивною після завершення завдання?

Select the correct answer

question mark

Який тип прив'язки даних дозволяє викликати метод компонента при натисканні кнопки?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 2. Розділ 4

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Awesome!

Completion rate improved to 3.13

bookТипи Прив'язки Даних в Angular

Свайпніть щоб показати меню

Коли компонент і його шаблон взаємодіють, між ними можна передавати дані та події різними способами. Це називається прив'язкою даних.

В Angular існує чотири типи прив'язки даних, кожен з яких виконує певну функцію.

Розглянемо, як вони працюють, на прикладі простого компонента завдання:

task-component.ts

task-component.ts

copy

Тут створюється об'єкт завдання з трьома властивостями: id, title та completed. Ці властивості описують конкретне завдання — його назву та стан виконання.

Інтерполяція

Наприклад, якщо у вас є змінна, така як task.title, ви можете обгорнути її у {{ }}, і Angular відобразить її значення у HTML.

task-component.html

task-component.html

copy

Коли Angular обробляє шаблон, він знаходить вираз {{ task.title }} і замінює його на поточне значення task.title з компонента.

Якщо значення — 'Buy groceries', саме це з'явиться всередині тегу <h3>. Той самий процес застосовується до будь-яких інших значень, які ви інтерполюєте.

Отже, інтерполяція є односторонньою: дані передаються з компонента до шаблону, і користувач просто бачить результат.

Прив'язка властивостей

Іноді потрібно не лише відображати текст — а й керувати поведінкою елементів, наприклад, вимикати кнопку, встановлювати джерело зображення або позначати прапорець.

Angular дозволяє прив'язувати значення до властивостей HTML-елементів за допомогою квадратних дужок.

task-component.html

task-component.html

copy

Уявіть, що завдання вже виконано (task.completed = true). У такому випадку ми хочемо, щоб кнопка була неактивною. Коли Angular бачить [disabled]="task.completed", він бере значення з компонента і прив'язує його до властивості disabled DOM-елемента.

Якщо значення true, кнопка стає неактивною. Якщо false, кнопка залишається активною.

Знову ж таки, це одностороннє зв'язування: дані передаються від компонента до шаблону, і шаблон змінюється відповідно до поточного стану об'єкта task.

Зв'язування подій

Щоб ваша програма реагувала на дії користувача (наприклад, кліки), Angular надає механізм зв'язування подій. Коли користувач взаємодіє з елементом, ви можете "перехопити" цю подію та викликати метод у вашому компоненті.

Додамо метод до компонента:

task-component.ts

task-component.ts

copy

І оновіть шаблон:

task-component.html

task-component.html

copy

Коли користувач натискає кнопку, Angular виявляє подію (click) і викликає метод toggleComplete() у компоненті. Цей метод змінює значення task.completed. Після цього Angular повторно відображає шаблон, і завдяки інтерполяції ({{ task.completed ? 'Undo' : 'Complete' }}) текст кнопки миттєво оновлюється.

У цьому випадку дані рухаються в одному напрямку — від шаблону до компонента (ви передаєте дію всередину).

Двостороннє зв'язування

Іноді потрібно, щоб зміни в шаблоні (наприклад, введення в поле input) одразу оновлювали компонент — і зміни в компоненті одразу відображалися в шаблоні. Angular спрощує це завдяки двосторонньому зв'язуванню з використанням [(ngModel)].

Важливо: Щоб використовувати [(ngModel)], необхідно імпортувати FormsModule — як показано нижче:

task-component.ts

task-component.ts

copy

А ось шаблон:

task-component.html

task-component.html

copy

Саме тут відбувається магія двостороннього зв'язування. Коли користувач вводить текст у поле введення, Angular автоматично оновлює task.title у компоненті. А коли task.title змінюється у компоненті, Angular миттєво відображає цю зміну у полі введення.

На відміну від інших типів зв'язування, двостороннє зв'язування постійно підтримує синхронізацію між компонентом і шаблоном.

Основні відмінності

Кожен із цих методів прив'язки має свої особливості та найкраще підходить для різних сценаріїв взаємодії з даними в межах застосунку.

1. Який тип прив'язки даних використовується для відображення значення змінної компонента в шаблоні?

2. Який тип прив'язки даних дозволяє оновлювати змінну компонента через форму та підтримує її синхронізацію з елементом введення в шаблоні?

3. Який тип прив'язки даних слід використовувати, щоб зробити кнопку неактивною після завершення завдання?

4. Який тип прив'язки даних дозволяє викликати метод компонента при натисканні кнопки?

question mark

Який тип прив'язки даних використовується для відображення значення змінної компонента в шаблоні?

Select the correct answer

question mark

Який тип прив'язки даних дозволяє оновлювати змінну компонента через форму та підтримує її синхронізацію з елементом введення в шаблоні?

Select the correct answer

question mark

Який тип прив'язки даних слід використовувати, щоб зробити кнопку неактивною після завершення завдання?

Select the correct answer

question mark

Який тип прив'язки даних дозволяє викликати метод компонента при натисканні кнопки?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 2. Розділ 4
some-alt