У меня есть случай, когда у меня есть родительский компонент и 2 дочерних компонента (компоненты выбора на основе ng-select) Идея состоит в том, что когда я выбираю элемент и в первом ng-select, то же самое должно быть отключено во втором. Наоборот.
В родительском элементе я использую @ViewChildren для запроса компонента и отключенного свойства ввода.
В дочерних элементах я отправляю нужную мне информацию в родительском элементе, когда выбираю и добавляю элемент в ng-select
В этом методе я затем нахожу правильный дочерний компонент и устанавливаю отключенное свойство ввода.
const connectionSelector = this.connectionSelectors.find(connectionSelector => connectionSelector.source == false);
connectionSelector.disabledConnection = this.selectedSourceConnection;
В дочернем компоненте у меня есть метод ngOnChanges для проверки изменений, но свойство disabledConnection не обновляется
Это работает только тогда, когда я загружаю страницу, я одновременно отправляю изменения в родительский элемент в OnInit и когда я меняю элемент в ng-select, поэтому изменения отправляются в родительский
Родительский вид:
<sc-connection-selector [default]="false" [source]="true" [quick]="false"
[selectedConnection]="selectedSourceConnection"
[disabledConnectionId]="disabledTargetConnectionId"
(dataToEmit)="onValueChanged($event)">
</sc-connection-selector>
Ребенок:
<ng-select [items]="connections" bindLabel="userName"
[placeholder]="'general.select-placeholder' | translate "
(change)="onConnectionChange()"
groupBy="type"
dropdownPosition="bottom"
[(ngModel)]="selectedConnection">
<ng-template ng-optgroup-tmp let-item="item">
<b>{{item.type || 'Unnamed group'}}</b>
</ng-template>
</ng-select>
Что мне здесь не хватает?
-Jani