Есть ли способ подписаться на свойство элемента EventEmitter внутри директивы? - PullRequest
0 голосов
/ 31 марта 2020

Angular Материал <mat-select> имеет свойство

@ Output () openChange: EventEmitter

Событие, генерируемое при переключении панели выбора.

Вы можете посмотреть документацию здесь

У меня есть пользовательская директива, и внутри этой директивы я хочу знать каждый раз, когда генерируется событие openChange. Это возможно? Я попытался выполнить это несколькими способами, ни один из которых, кажется, не работает. Ниже моя последняя попытка, которая в настоящее время говорит, что свойство моей директивы не определено.

Директива:

import { Directive, HostListener, ElementRef, Input } from '@angular/core';

    @Directive({
      selector: '[appSelectSearch]'
    })
    export class SelectSearchDirective {

        @Input() aclose;

        constructor(private el: ElementRef) {
            console.log(this.aclose)
        }
    }

Шаблон:

<mat-select #el
            appSelectSearch
            [aclose]="el.openedChange">
//options
</mat-select>
...