【发布时间】:2018-02-15 11:41:17
【问题描述】:
我有一个外部 javascript 文件,我有一个将 HTML 附加到 siteLayoutComponent.html DIV 的函数,如下代码:
function LoadNotificationData(data) {
$("#lstNotification").append(' <li id="' + data.id + '"><a (click)="logout()"><i class="fa fa-sign-out fa-fw" "></i>' + data.subject + '</a></li> <li id="dv' + data.id + '" class="divider"></li>')
}
siteLayoutComponent.ts 中的注销函数
logout() {
this.router.navigate(['/login']);
}
检查生成的代码后,我们可以意识到事件没有以正确的方式呈现,我需要在附加的 HTML 中动态执行此绑定。任何想法
【问题讨论】:
-
你为什么要动态附加
<li>?它应该始终存在,如果应该隐藏则隐藏。 -
“在检查生成的代码后,我们可以意识到事件没有以正确的方式呈现”。它是如何渲染的,为什么会这样?
-
旁注:我个人避免将 HTML 与 Javascript 混合使用。如果我必须用 jQuery 编写这个,我会使用
$li.append($("<a>").click(logout));
标签: javascript html angular typescript angular2-routing