[英]Dynamically inserting components in Angular2
我遇到需要动态创建和插入组件的情况。
确切的情况是在Leaflet中向地图添加标记。
这样做的语法如下:
L.marker(latLng, {title: someTitle, icon: icon}).addTo(this.map).bindPopup(popupContent);
在这种情况下, popupContent
是HTML字符串或HTMLElement
对象。
我想知道用Angular2做到这一点的最佳方法是什么。
编辑:一个猜测是一个更好的问题,因为无论如何,传单将处理弹出窗口,如果我要手动编写HTML(例如使用小胡子或lodash模板)而不是它,那将是一种反模式吗?使用Angular组件。
您可以使用类似
<div [innerHTML]="popupContent"></div>
动态添加HTML。
Angular不会处理popupContent
,即使选择器匹配,也不会解析任何绑定,也不会实例化任何组件或指令。
要创建组件,您可以使用ViewContainerRef.createComponent
如Angular 2动态选项卡中所述,并通过用户单击所选组件
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.