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:

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;
  }
}

Za primer naredimo setter za starost, kjer implementiramo preverbo posredovanih podatkov. Naredimo tudi getter za izpis lastnosti uporabnika:

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;
  }
}

Zdaj posredujmo podatke iz starševskega komponenta v podrejeni:

app/app.component.html<user-data name="john"></user-data>

V podrejenem komponentu pa izpišimo posredovano ime na zaslon:

app/user/user.component.html<p>{{ name }}</p>
Задание 1

Pojasnite, zakaj zasebna lastnost _name se začne s podčrtajem.

Задание 2

Implementirajte setterje in getterje za naziv izdelka in njegovo ceno, ki bodo posredovani iz starševskega komponenta.