Předávání dat do setteru dětské komponenty v Angular
Lze zařídit, aby data z rodičovské komponenty přicházela do setteru privátní vlastnosti. Podívejme se na příklad. Předpokládejme, že máme privátní vlastnost se setterem a 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;
}
}
Pro příklad vytvořme setter věku, ve kterém implementujeme kontrolu předaných dat. Také vytvořme getter pro výpis vlastností uživatele:
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;
}
}
Nyní předejme data z rodičovské komponenty do dětské:
<user-data name="john"></user-data>
A v dětské komponentě vypišme předané jméno na obrazovku:
<p>{{ name }}</p>
Vysvětlete, proč privátní vlastnost _name
začíná znakem podtržítka.
Implementujte settery a gettery pro název produktu a jeho cenu, které budou předávány z rodičovské komponenty.