Передача данных в сеттер дочернего компонента в 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
начинается с символа подчеркивания.
Реализуйте сеттеры и геттеры для названия продукта и его цены, которые будут передаваться из родительского компонента.