Tietojen välittäminen lapsikomponentin setteriin Angularissa

On mahdollista tehdä niin, että tiedot vanhempakomponentista menevät setteriin yksityiselle ominaisuudelle. Katsotaanpa esimerkkiä. Oletetaan, että meillä on yksityinen ominaisuus setterin ja getterin kanssa:

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

Tehdään esimerkiksi ikää setter, jossa toteutamme annettujen tietojen tarkistuksen. Tehdään myös getter käyttäjän ominaisuuksien tulostamiseksi:

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

Nyt välitetään tietoja vanhempakomponentista lapsikomponenttiin:

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

Ja lapsikomponentissa tulostetaan annettu nimi näytölle:

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

Selitä, miksi yksityinen ominaisuus _name alkaa alaviivalla.

Задание 2

Toteuta setterit ja getterit tuotteen nimelle ja sen hinnalle, jotka liitetään vanhempakomponentista.