我有這麼大的HTML菜單,我決定綁定到能夠做出幾個子菜單下拉菜單,並避免重複html代碼。父項>子項(也就是父項)>子項...Angular 2 innerHTML(點擊)綁定
對於上下文:在ng2_msList/msList.components.ts中,ColumnsManagements.ts作爲this.ColumnsManagementInstance導入。 的innerHTML菜單顯示正常,在ng2_msList /頁/ list.html:
<!-- COLUMNS DROPDOWN BUTTON -->
<ul [innerHTML]="msList.ColumnsManagementInstance.columnMenu" class="dropdown-menu" role="menu"> </ul>
隨着(在我的代碼非常簡化版本):(感謝這個Stack Q)
setHtmlColumnsMenu() {
var self = this;
var htmlcolumnsmenu = '';
[...]
htmlcolumnsmenu += this.createColumnsList(this.getNoneRelationalColumns(true));
// which return something like a lot of html content and sometime in it :
// <a href="javascript:;" (click)="msList.ColumnsManagementInstance.toogleColumn(column)">
[...]
return htmlcolumnsmenu;
}
但(點擊)=「msList.ColumnsManagementInstance.toogleColumn(列)」(之前在html內容中)不再有效。它在視圖中以標記中的簡單文本(在innerHtml未顯示之前)寫入。
我無法達到使其再次工作的方式。我測試了多種調用函數的方式,或者我在網頁鏈接中找到的例子如Ang Doc Section,here。 這些示例非常簡單地調用一個在同一個文件/上下文中設置的函數(點擊)=「MyAction()」,但是使用我的上下文我無法正確調用它。
應用程序架構可能不像Angular2的點擊呼叫所期望的那樣。
我們需要聽到的是並不總是我們希望聽到:/ 謝謝你,這當然是我需要的,甚至意味着我錯了;) 接受! –