Как Вы справляетесь с SQL-запросами

Ответ @nimeresam - хороший совет - использование @Output - это нелепый способ для достижения этой цели.

Однако стоит отметить, что причина, по которой ваше оригинальное решение не работает, связана с тем, как javascript обрабатывает контекст this.

Запись (click)="updateUnread()" равносильна произнесению this.updateUnread() с этим значением NotificationMenuComponent - так как служба извещения не существует в NotificationMenuComponent, вы получите неопределенную ошибку.

Чтобы использовать контекст родительского компонента, вам необходимо связать контекст с функцией updateUnread перед передачей его в дочерний компонент.

Это может быть достигнуто либо путем преобразования функции в функцию стрелки, либо с помощью Function.bind

См .:

https://developer.mozilla.org/ ru-ru / docs / Web / JavaScript / Справочник / Функции / Arrow_functions

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_objects / Function / bind

Обычно хорошей идеей является включение опции машинописи для --noImplicitThis, чтобы помочь отлавливать эти ошибки (хотя и не уверены, обнаружит ли она это в этом случае)

14
задан Rik Heywood 1 September 2008 в 11:38
поделиться