具有一个引导程序模式窗口,该窗口在关闭后应触发一个函数。
要保持行为无缝,我需要监听hidden.bs.modal
事件,因为通过(click)="doSomething()"
处理类似呼叫中的操作会带来一些不便。
当我将事件监听器粘贴到console
时,一旦关闭模式,它就会按预期工作。
控制台示例
$('#mySelector').on('hidden.bs.modal', () => {
console.log('finally');
});
但是在Angular之外(使用ViewChild('#selector')
我无法使其正常工作。
示例
标记
<!-- using the Template reference variable within my component -->
<div #optionChangeConfigurationModal
class="modal fade"
id="mySelector"
aria-labelledby="optionTermination"
aria-hidden="true"
role="dialog">....</div>
TypeScript
@ViewChild('optionChangeConfigurationModal') elementRef: ElementRef;
ngAfterViewInit() {
// Element ref is defined
console.log(this.elementRef.nativeElement);
jQuery(this.elementRef.nativeElement).on('hidden.bs.modal', () =>
{
console.log('finally');
});
}
任何想法在这里有什么不同之处吗?
添加:
即使我通过使用肮脏的超时将正在控制台中运行的代码段也浪费到ngAfterViewInit
中,一旦模式被关闭,该代码段也就无法工作