Dvikryptis įvykių surišimas Angular
Taip pat Angular galima sukurti dvikryptį įvykių surišimą abiejų komponentų: pagrindinio ir vaikinio. Sukurkime vaikiniame HTML šablone įvesties lauką su dvikrypčiu vartotojo vardo surišimu ir funkcija, keičiančia vardą:
<input [ngModel]="userName" (ngModelChange)="onNameChange($event)" />
Pereikime į mūsų vaikinį komponentą ir
importuokime į jį dekoratorių @Input.
Jis reikalingas darbui su įvestimis :
import { Component, Input, Output, EventEmitter } from '@angular/core';
Toliau pririšame dekoratorių @Input
prie vartotojo vardo. O dekoratorių @Output
pririšame prie objekto userNameChange,
kuris bus iškviečiamas funkcijoje onNameChange:
export class UserComponent {
@Input() userName: string = '';
@Output() userNameChange = new EventEmitter<string>();
onNameChange(model: string) {
this.userName = model;
this.userNameChange.emit(model);
}
}
Dabar pereikime į pagrindinį komponentą ir pridėkime prie jo klasės savybę vardas:
export class AppComponent {
name: string = 'alex';
}
O HTML šablone pagrindinio komponento
atlikime dvikryptį savybės userName surišimą
su savybės name reikšme iš pagrindinio komponento:
<user-data [(userName)]="name"></user-data>
<p>You choose name: {{ name }}</p>
Įgyvendinkite dvikryptį įvykių surišimą pagrindinio ir vaikinio komponentų remdamiesi pamokoje pateiktu pavyzdžiu.
Remdamiesi ankstesne užduotimi, sukurkite dvikryptį vartotojo amžiaus surišimą.