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:

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

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:

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

Teraz przekażmy dane z komponentu nadrzędnego do komponentu potomnego:

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

A w komponencie potomnym wyświetlmy przekazane imię na ekranie:

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

Wyjaśnij, dlaczego prywatna właściwość _name zaczyna się od znaku podkreślenia.

Задание 2

Zaimplementuj settery i gettery dla nazwy produktu i jego ceny, które będą przekazywane z komponentu nadrzędnego.