Это называется Component Interaction
, для этого вам нужно использовать @Input
.
Если свойство, которое вы хотите отправить потомку, изменяется асинхронно, тогда вам нужно использовать EventEmitter
проверьте эту ссылку для справки
вот простой пример:
Дочерний компонент
import { Component, Input } from '@angular/core';
@Component({
selector: 'child-component',
template: `<h2>Child Component</h2>
current count is {{ count }}
`
})
export class ChildComponent {
@Input() count: number;
}
Родительский компонент:
import { Component} from '@angular/core';
@Component({
selector: 'app-root',
template: `
<h1>Welcome to {{title}}!</h1>
<button (click)="increment()">Increment</button>
<button (click)="decrement()">decrement</button>
<child-component [count]=Counter></child-component>` ,
styleUrls: ['./app.component.css']
})
export class AppComponent {
title = 'Component Interaction';
Counter = 5;
increment() {
this.Counter++;
}
decrement() {
this.Counter--;
}
}
Ссылка