Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何用angular捕捉更新DOM事件?_Angular_Select2 - Fatal编程技术网

如何用angular捕捉更新DOM事件?

如何用angular捕捉更新DOM事件?,angular,select2,Angular,Select2,我有表格,表格单元格中有select2控件。 在ngAfterViewInit方法中,我调用类似于jQuery('.select2Class').select2(…) 我可以在表中添加新行 现在代码类似于 addNewRow(){ this.rows.push({name:'newrow'}); setTimeout(函数(){ jQuery('#newSelect2Id')。选择2(…); },10); } 我需要使用setTimeout,因为没有事件angularReady 我知道它不好,

我有表格,表格单元格中有select2控件。 在
ngAfterViewInit
方法中,我调用类似于
jQuery('.select2Class').select2(…)
我可以在表中添加新行
现在代码类似于

addNewRow(){
this.rows.push({name:'newrow'});
setTimeout(函数(){
jQuery('#newSelect2Id')。选择2(…);
},10);
}
我需要使用
setTimeout
,因为没有事件
angularReady


我知道它不好,但我不知道如何纠正它。

而不是像
jQuery('newSelect2Id')那样直接使用jQuery。选择2(…)创建专用的自定义元素,例如

然后,在组件模板中,您将使用普通的
*ngFor
指令呈现行。大概是这样的:


现在,关于这个自定义元素的实现。最简单的实现就是实现
OnInit
接口并使用
$.fn初始化
nativeElement
。选择2
插件。您还可以实现必要的输入和输出,就像在上面的示例中一样,您可能希望将一些select2选项传递到组件中,并对
select2:select
事件做出反应