是的,我遇到以下情况:我有一个角度服务,该服务向某些HTML代码发送HTTP请求以后端。我将在收到后立即使用<div [innerHTML]="..."/>
将来自后端的HTML插入组件的html中。
问题在于,在加载的HTML内有一个按钮必须触发一些操作。我想使用标准的(click)="function()"
绑定,但是Angular在将HTML从后端“注入”到innerHTML之后没有解决它。有什么办法吗?
答案 0 :(得分:0)
那是设计使然。 Angular不会以任何方式处理[innerHTML] =“ ...”(清理除外)添加的HTML。它只是将其传递给浏览器而已。
如果要动态添加包含绑定的HTML,则需要将其包装在Angular组件中,则可以使用例如ViewContainerRef.createComponent()
添加它有关完整示例,请参见Angular 2 dynamic tabs with user-click chosen components
较少的Angulary方法是注入ElementRef,使用来访问添加的HTML
elementRef.nativeElement.querySelector('a').addEventListener(...)