Просуривање података у сетеру дечије компоненте у Angular

Може се урадити тако да подаци из родитељске компоненте буду прослеђени у сетер приватног својства. Хајде да погледамо на примеру. Нека имамо приватно својство са сетером и гетером:

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

За пример, хајде да направимо сетер за старост, у ком ћемо имплементирати проверу прослеђених података. Такође, направимо гетер за приказ особина корисника:

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

Сада ћемо проследити податке из родитељске компоненте у дечију:

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

А у дечијој компоненти ћемо приказати прослеђено име на екрану:

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

Објасните зашто приватно својство _name почиње знаком доње црте.

Задание 2

Имплементирајте сетере и гетере за назив производа и његову цену, који ће бити прослеђени из родитељске компоненте.