Предаване на данни в сетър на детски компонент в 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

Реализирайте сетъри и гетъри за име на продукт и неговата цена, които ще бъдат предавани от родителския компонент.