Свойство Angular 2 не существует для типа ‘CustomEvent’

#angular

#angular

Вопрос:

Я использую последнюю версию Angular 2, и у меня есть некоторый код:

 var passWidgetIdEvent = new CustomEvent("passWidgetIdEvent");
passWidgetIdEvent.widgetId = event.target.parentElement.id.replace("removeWidgetLink_", "");
document.dispatchEvent(passWidgetIdEvent);
  

Раньше это работало, хотя теперь я получаю красные закорючки под свойством .widgetId on passWidgetIdEvent и в нем говорится Property 'widgetId' does not exist on type 'CustomEvent'

Я знаю, что у Angular 2 есть @Output для генерации событий, но мне нужно, чтобы это событие перехватывалось обычным javascript за пределами Angular 2.

Есть идеи?

Спасибо

Ответ №1:

widgetId Свойство on отсутствует CustomEvent . Средство проверки машинописи абсолютно верно.

Я думаю, это должно заставить контролера замолчать

 var passWidgetIdEvent = new CustomEvent("passWidgetIdEvent") as any;
passWidgetIdEvent.widgetId = event.target.parentElement.id.replace("removeWidgetLink_", "");
document.dispatchEvent(passWidgetIdEvent);
  

Комментарии:

1. эта вторая часть сработала как шарм! большое вам спасибо

2. Рад слышать. Спасибо за отзыв 🙂