Определить фактическое событие подписчика в угловом компоненте - PullRequest
2 голосов
/ 30 октября 2019

У меня проблема с моим приложением Angular, и я надеюсь, что кто-то здесь может мне помочь. Я создаю динамический компонент формы в Angular (8+), в котором различные элементы управления формы могут иметь или не иметь прослушиватели событий. В одном из них я использую информацию для изменения внешнего вида компонента (т. Е. Если у экземпляра компонента есть прослушиватель событий, курсор переходит от указателя по умолчанию к указателю).

Чтобы сделать это,Я использую технику, о которой я читал в Интернете:

    get iconRightClickable(): boolean {
      return this.iconRightClick.observers.length > 0 
    }

Будучи «iconRightClick» моим EventEmitter.

В моей динамической форме я вынужден настроить прослушиватели событий таким образом, чтобыпохож на следующее:

    <component 
      (iconRightClick)="params.iconRightClick"
    </component>

В этом коде «params.iconRightClick» может быть или не быть определен, но проверка количества наблюдателей превращает 1 в один и тот же путь. Глядя на фактическое содержание наблюдателей, они абсолютно одинаковы в обоих случаях (неопределенный параметр и определенный параметр).

Как я могу обнаружить, что обратный вызов события на самом деле равен нулю или не определен для правильного поведения?

1 Ответ

0 голосов
/ 30 октября 2019

Я не думаю, что вы должны использовать null или undefined в привязке выходных событий. Я бы, вероятно, взял ссылку на компонент, используя переменную ссылки на шаблон, и условно подписался в коде.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...