Что значит шаренные компоненты?
<test-input></test-input>
<test-select></test-select>
Если ты про них, то более правильно это называется (дочерние директивы) по отношению к тому в котором они вызываются.
Если ты хочешь передать в них значение тебе нужно использовать декотораторы, что бы принять эти значения.
<test-input [value]="data"></test-input>
import { Component, Input } from '@angular/core';
@Component({
selector: 'test-input'
})
export class TestInputComponent {
// Тут значение принимается!
// Тип значения должен стоять тот, который ожидается
// @Input() - это то что называется декоратором, он служит для передачи значений между директивами
@Input()
value: any;
}