Передача данных в дочерний компонент в Angular
Можно передавать данные из родительского компонента в дочерний. Эти данные будут попадать в свойства дочернего класса. Давайте посмотрим, как это делается.
Для начала сделаем в классе дочернего компонента свойства, в которые будут импортироваться данные из родительского компонента:
class UserComponent {
public name: string = '';
public age: number = 0;
}
Теперь нам нужно объявить, что в эти
свойства извне будут попадать данные. Для
этого используется специальный декоратор
Input
. Импортируем его в наш дочерний
компонент:
import { Input } from '@angular/core';
А теперь применим этот декоратор для наших свойств:
class UserComponent {
@Input()
public name: string = '';
@Input()
public age: number = 0;
}
Добавим вывод данных в файл темплейта дочернего компонента:
<p>{{ name }}</p>
<p>{{ age }}</p>
А теперь в темплейте родителя при вызове тега дочернего компонента напишем атрибуты, имена которых будут совпадать с именами наших свойств дочернего класса. Значения этих атрибутов попадут в свойства дочернего класса:
<user-data name="john" age="25"></user-data>