Transmiterea datelor în setter-ul componentei copil în Angular
Se poate face ca datele din componenta părinte să ajungă în setter-ul proprietății private. Să ne uităm la un exemplu. Să presupunem că avem o proprietate privată cu setter și getter:
app/user/user.component.tsclass UserComponent {
private _name: string = '';
set name(name: string) {
if (name.length < 3) {
this._name = name;
} else {
console.log('error');
}
}
get age() {
return this._userAge;
}
}
Pentru exemplu, să facem un setter pentru vârstă, în care să implementăm o verificare a datelor transmise. De asemenea, să facem un getter pentru afișarea proprietăților utilizatorului:
app/user/user.component.tsclass UserComponent {
private _name: string = '';
@Input()
set name(name: string) {
if (name.length > 3) {
this._name = name;
} else {
console.log('error');
}
}
get name() {
return this._name;
}
}
Acum să transmitem datele din componenta părinte în componenta copil:
app/app.component.html<user-data name="john"></user-data>
Și în componenta copil să afișăm numele transmis pe ecran:
app/user/user.component.html<p>{{ name }}</p>
Задание 1
Explicați de ce proprietatea privată _name
începe cu simbolul underscore.
Задание 2
Implementați setteri și getteri pentru numele produsului și prețul acestuia, care vor fi transmise din componenta părinte.