Предаване на данни в сетър на детски компонент в Angular
Може да се направи така, че данните от родителския компонент да попаднат в сетър на частно свойство. Нека разгледаме с пример. Да предположим, че имаме частно свойство със сетър и гетър:
class UserComponent {
private _name: string = '';
set name(name: string) {
if (name.length < 3) {
this._name = name;
} else {
console.log('error');
}
}
get age() {
return this._userAge;
}
}
За пример нека направим сетър за възраст, в който да реализираме проверка на предадените данни. Също така ще направим гетър за извеждане на свойствата на потребителя:
class 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;
}
}
Сега нека предадем данни от родителския компонент към детския:
<user-data name="john"></user-data>
А в детския компонент ще изведем предаденото име на екрана:
<p>{{ name }}</p>
Обяснете защо частното свойство _name
започва със символ за подчертаване.
Реализирайте сетъри и гетъри за име на продукт и неговата цена, които ще бъдат предавани от родителския компонент.