Posredovanje podatkov v setter podrejenega komponenta v Angular
Lahko naredimo tako, da podatki iz starševskega komponenta pridejo v setter zasebne lastnosti. Poglejmo si primer. Naj imamo zasebno lastnost s setterjem in getterjem:
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;
}
}
Za primer naredimo setter za starost, kjer implementiramo preverbo posredovanih podatkov. Naredimo tudi getter za izpis lastnosti uporabnika:
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;
}
}
Zdaj posredujmo podatke iz starševskega komponenta v podrejeni:
<user-data name="john"></user-data>
V podrejenem komponentu pa izpišimo posredovano ime na zaslon:
<p>{{ name }}</p>
Pojasnite, zakaj zasebna lastnost _name
se začne s podčrtajem.
Implementirajte setterje in getterje za naziv izdelka in njegovo ceno, ki bodo posredovani iz starševskega komponenta.