我有这么大的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的点击呼叫所期望的那样。
我们需要听到的是并不总是我们希望听到:/ 谢谢你,这当然是我需要的,甚至意味着我错了;) 接受! –