[英]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.