Kalimi i të dhënave në seterin e komponentit fëmijë në Angular

Mund të bëhet që të dhënat nga komponenti prind të depërtojnë në seter e një prone private. Le të shohim me një shembull. Le të themi se kemi një pronë private me seter dhe geter:

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

Për shembull, le të bëjmë një seter për moshën, ku do të implementojmë një kontroll të të dhënave të kalaura. Gjithashtu, le të bëjmë një geter për të shfaqur vetitë e përdoruesit:

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

Tani le të kalojmë të dhënat nga komponenti prind në komponentin fëmijë:

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

Dhe në komponentin fëmijë, le të shfaqim emrin e kaluar në ekran:

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

Shpjegoni pse pronë private _name fillon me simbolin e nënvizimit.

Задание 2

Implementoni seterët dhe geterët për emrin e produktit dhe çmimin e tij, të cilët do të kalojen nga komponenti prind.