Binding Dua Arah Peristiwa di Angular

Di Angular juga dimungkinkan untuk membuat binding dua arah peristiwa dari kedua komponen: induk dan anak. Mari kita buat di template HTML anak sebuah input dengan binding dua arah nama pengguna dan fungsi yang mengubah nama:

app/user/user.component.html<input [ngModel]="userName" (ngModelChange)="onNameChange($event)" />

Mari kita beralih ke komponen anak kita dan impor dekorator @Input ke dalamnya. Dibutuhkan untuk bekerja dengan input:

app/user/user.component.tsimport { Component, Input, Output, EventEmitter } from '@angular/core';

Selanjutnya, kita bind dekorator @Input ke nama pengguna. Dan dekorator @Output kita bind ke objek userNameChange, yang akan dipanggil dalam fungsi onNameChange:

app/user/user.component.tsexport class UserComponent {
  @Input() userName: string = '';
  @Output() userNameChange = new EventEmitter<string>();
  onNameChange(model: string) {
    this.userName = model;
    this.userNameChange.emit(model);
  }
}

Sekarang beralihlah ke komponen utama dan tambahkan properti nama ke kelasnya:

app/app.component.tsexport class AppComponent {
  name: string = 'alex';
}

Dan di template HTML komponen induk, lakukan binding dua arah properti userName dengan nilai properti name dari komponen induk:

ap.component.html<user-data [(userName)]="name"></user-data>
<p>You choose name: {{ name }}</p>
Задание 1

Implementasikan binding dua arah peristiwa komponen induk dan anak sesuai dengan contoh yang diberikan dalam pelajaran.

Задание 2

Berdasarkan tugas sebelumnya, buatlah binding dua arah untuk usia pengguna.