Przekazywanie danych do settera komponentu potomnego w Angular
Można sprawić, aby dane z komponentu nadrzędnego trafiały do settera prywatnej właściwości. Spójrzmy na przykład. Załóżmy, że mamy prywatną właściwość z setterem i getterem:
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;
}
}
Dla przykładu zróbmy setter wieku, w którym zaimplementujemy walidację przekazanych danych. Stwórzmy również getter do wyświetlania właściwości użytkownika:
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;
}
}
Teraz przekażmy dane z komponentu nadrzędnego do komponentu potomnego:
<user-data name="john"></user-data>
A w komponencie potomnym wyświetlmy przekazane imię na ekranie:
<p>{{ name }}</p>
Wyjaśnij, dlaczego prywatna właściwość _name
zaczyna się od znaku podkreślenia.
Zaimplementuj settery i gettery dla nazwy produktu i jego ceny, które będą przekazywane z komponentu nadrzędnego.