获取一个使用NG组件工作的事件侦听器,该组件侦听引导程序模式隐藏事件

时间:2018-07-06 11:26:59

标签: angular typescript bootstrap-4

具有一个引导程序模式窗口,该窗口在关闭后应触发一个函数。

要保持行为无缝,我需要监听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中,一旦模式被关闭,该代码段也就无法工作

0 个答案:

没有答案