Overførsel af data til en underkomponents setter i Angular

Det er muligt at gøre det således, at data fra forældrekomponenten kommer ind i setteren for en privat egenskab. Lad os se på et eksempel. Antag, at vi har en privat egenskab 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;
  }
}

Lad os for eksemplets skyld lave en setter for alderen, hvor vi implementerer en validering af de overførte data. Vi laver også en getter for at udskrive brugerens egenskaber:

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

Lad os nu overføre data fra forældrekomponenten til underkomponenten:

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

Og i underkomponenten udskriver vi det overførte navn på skærmen:

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

Forklar, hvorfor den private egenskab _name starter med en understregning.

Задание 2

Implementer setters og getters for produktets navn og dets pris, som vil blive overført fra forældrekomponenten.