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:
class 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:
class 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:
<user-data name="john"></user-data>
Și în componenta copil să afișăm numele transmis pe ecran:
<p>{{ name }}</p>
Explicați de ce proprietatea privată _name
începe cu simbolul underscore.
Implementați setteri și getteri pentru numele produsului și prețul acestuia, care vor fi transmise din componenta părinte.