Вы можете добиться этого поведения двумя способами:
1) генерировать компонент во время выполнения (это довольно сложное решение, я бы этого не делал);
2) обновите alertCtrl.create
. После того, как вы вставите разметку, вам нужно запустить синхронное обнаружение изменений и связать все события, используя elementRef.
Например, вы можете создать список кортежей типа [селектор, событие, слушатель] и использовать его позже в методе create()
.
так:
create(options) {
/* inserting markup here */
this.changeDetectorRef.detectChanges();
options.eventBindings.forEach(([selector, event, listener]) => {
const element = this.elementRef.nativeElement.querySelector(selector)
if(element) {
element.addEventListener(event, listener);
}
}
}