Trasmissione dei dati al setter di un componente figlio in Angular

Si può fare in modo che i dati dal componente genitore arrivino nel setter di una proprietà privata. Vediamo con un esempio. Supponiamo di avere una proprietà privata con setter e getter:

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

Per l'esempio, creiamo un setter per l'età, in cui implementeremo un controllo dei dati trasmessi. Creiamo anche un getter per visualizzare le proprietà dell'utente:

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

Ora trasmettiamo i dati dal componente genitore al figlio:

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

E nel componente figlio visualizziamo il nome trasmesso sullo schermo:

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

Spiegate perché la proprietà privata _name inizia con il carattere underscore.

Задание 2

Implementate i setter e i getter per il nome del prodotto e il suo prezzo, che saranno trasmessi dal componente genitore.