Чтобы заставить компонент выводить значение, используйте @Output.
Чтобы использовать данные извне компонента, используйте @Input.
Поскольку я не знаю тип вашего элемента, я буду использовать ItemType
в этом примере.
select-item-component
Внутри select-item-component объявите атрибут :
@Output() onDataChange: EventEmitter<ItemType> = new EventEmitter();
и когда выбор изменяется, просто выполните
this.onDataChange.emit(formValue);
add-qty-component
@Input() item: ItemType;
Если вы хотите вызвать некоторые действия, когда значение изменяется, используйте set
. Например:
@Input() set item(value: ItemType) {
this.loadOptions(value);
}
Вы можете сделать то же самое в select-item-component
с переменными select1
и select2
.
parent
Использовать выходные данные и входные данные значения.
...
<select-item-component (onDataChange)="select1 = $event"></select-item-component>
<select-item-component (onDataChange)="select2 = $event"></select-item-component>
...
<add-qty-component [item]="select1"></add-qty-component>
<add-qty-component [item]="select2"></add-qty-component>
...