Overføring av data til setteren i en underkomponent i Angular

Det er mulig å arrangere det slik at data fra foreldrekomponenten havner i setteren til en privat egenskap. La oss se på et eksempel. Anta at vi har en privat egenskap med en setter og en 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;
  }
}

La oss for eksempel lage en setter for alder, der vi implementerer sjekk av de overførte dataene. Vi lager også en getter for å vise brukerens egenskaper:

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

La oss nå overføre data fra foreldrekomponenten til underkomponenten:

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

Og i underkomponenten viser vi det overførte navnet på skjermen:

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

Forklar hvorfor den private egenskapen _name starter med understrekstegnet.

Задание 2

Implementer settere og gettere for navnet på produktet og dets pris, som skal overføres fra foreldrekomponenten.