Datu nodošana pakārtotā komponenta seterim Angular

Var izveidot tā, lai dati no vecākkomponenta nonāktu seterī privātajam īpašumam. Apskatīsim piemērā. Pieņemsim, ka mums ir privāts īpašums ar seteri un geteri:

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

Piemēram, izveidosim vecuma seteri, kurā ieviests pārbaudi nodotajiem datiem. Izveidosim arī geteri īpašību izvadei:

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

Tagad nodosim datus no vecāk komponenta pakārtotajā:

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

Un pakārtotajā komponentā izvadīsim nodoto vārdu uz ekrāna:

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

Paskaidrojiet, kāpēc privātais īpašums _name sākas ar pasvītrojuma simbolu.

Задание 2

Implementējiet seterus un geterus produkta nosaukumam un tā cenai, kas tiks nodoti no vecāk komponenta.