Потік даних Angular2 +:
У Angular дані можуть протікати між моделлю (клас компонента ts.file) та поданням (html компонента) наступними способами:
- Від моделі до виду.
- Від вигляду до моделі.
- Потоки даних в обох напрямках, також відомі як двосторонній зв'язок даних .
Синтаксис:
модель для перегляду:
<input type="text" [ngModel]="overRideRate">
Цей синтаксис також відомий як властивість прив'язки . Тепер, якщо overRideRate
властивість поля введення змінюється, подання автоматично оновлюється. Однак якщо подання оновлюється, коли користувач вводить число, overRideRate
властивість не буде оновлено.
вид на модель:
(input)="change($event)" // calling a method called change from the component class
(input)="overRideRate=$event.target.value" // on input save the new value in the title property
Тут відбувається те, що подія запускається (у цьому випадку вхідна подія, але це може бути будь-яка подія). Потім ми можемо викликати методи класу компонента або безпосередньо зберегти властивість у властивості класу.
Двостороння прив'язка даних:
<input [(ngModel)]="overRideRate" type="text" >
Наступний синтаксис використовується для двостороннього прив'язки даних. В основному це синтаксичний цукор для обох:
- Модель прив'язки для перегляду.
- Вид прив'язки до моделі
Тепер щось змінюється всередині нашого класу, це відображатиме наш погляд (модель для перегляду), і щоразу, коли користувач змінить введення, модель буде оновлена (подання до моделі).
[ngModel]
- це лише прив'язка властивостей, а не двостороння прив'язка. Отже, введення нового значення не буде оновленоoverRideRate
.