2016-07-31 75 views
0

這裏是我的代碼..我想添加onclick事件動態生成HTML標記的UI,我使用角2

<i id="lrbp" #lrbp data-toggle="popover" [attr.data-content]="popovercontent" data-placement="bottom" (click)="openSettingPopOver(lrbp)" class="btn btn-default fa fa-cog fa-lg" aria-hidden="true"></i> 

數據內容將在.TS文件產生,例如。

initPopOverContent(){ 
    this.popovercontent = "<ul class='list-group' style='margin:0'>" + 
     "<li type='button' (click)='draw3D()' class='list-group-item'><i class='fa fa-cubes' aria-hidden='true'></i> 3D Chart</li>" + 
     "<li type='button' class='list-group-item'><i class='fa fa-line-chart' aria-hidden='true'></i> Line Chart</li>" + 
     "<li type='button' class='list-group-item'><i class='fa fa-pie-chart' aria-hidden='true'></i> Pie Chart</li>" + 
     "</ul>";  
} 

openSettingPopOver(id: any) { 
    this.popover = id; 
    let template: string = '<div class="popover" style="min-width:10em" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content" style="padding:0"></div></div>'; 

    $(id).popover({ html: true, template: template }).popover('toggle'); 
} 

但在點擊事件

(點擊)= 'draw3D()'這個函數是在同一個.ts文

是沒有得到所謂的。

我知道原因可能是動態地在角度2中附加html標籤的不當方式。

任何人都可以幫助我,如果他們已經解決了類似的問題。

回答

0

這不支持。動態添加的HTML僅傳遞給瀏覽器並進行了消毒(被潛在危險的HTML,CSS ......剝離),但沒有創建Angular2綁定或組件和指令。

相關問題