Если у вас есть Observable
, вам нужно подписаться на него, если вы хотите получать потоковые данные.
В коде вашего компонента вам нужно что-то вроде:
selectObs$.subscribe(selectedVal => console.log(selectedVal));
note : Запомните отписаться в событии компонента OnDestroy
, чтобы предотвратить утечки памяти.
ОБНОВЛЕНИЕ
1 - В вашем компоненте вы должны связать matSelect, а не matOption. Затем вы можете прослушать излучатель selectionChange (например, Observable):
@ViewChild(MatSelect) select: MatSelect;
Без использования #x в шаблоне.
2 - Вы пытались изменить строку с:
const selectObs$ = fromEvent(this.pipelineSelect.nativeElement, 'onSelectionChange');
на
const selectObs$ = fromEvent(this.pipelineSelect.nativeElement, 'selectionChange');
Я никогда не работал с событием nativeElement, но у matSelect есть EvenEmitter selectionChange: EventEmitter<MatSelectChange>
, поэтому он может несовпадение имен.
3 - используйте selectionChange emitter:
<mat-select name="type" [(ngModel)]="type">
<mat-option #x (selectionChange)="onValueSelected()" *ngFor="let option of options" [value]="option.value">
{{option.viewValue}}
</mat-option>
</mat-select>