微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

点击事件无法动态生成HTML角度2

当http.get方法更新我时,我正在创建表行…接收数据我使用角度2版本中的JS / jquery创建表行.

我的代码

<tr>
    <td>2</td>
    <td>BAJAJ-AUTO</td>
    <td>14.284%</td>
    <td>27/12/2013 12:00 am</td>
    <td>30/12/2013 12:00 am</td>
    <td>1935</td>
    <td>30/12/2013 12:00 am</td>
    <td>1935</td>
    <td>31/12/2013 12:00 am</td>
    <td>2120</td>
    <td><button class="btn btn-default" onclick="processAdvise('BAJAJ-AUTO')">Process Advise</button></td>
</tr>

所以最后一个td – 有一个按钮,它将调用我的角度2函数来处理它 – 这个代码甚至在功能开始时都没有到达

我也试过这个无济于事:

>(单击)角度2
> onclick并使用相同的HTML模板保存该功能
脚本标记

解决方法

Angular2不以任何方式处理组件模板之外的HTML,因此预期(click)=“processAdvise(‘BAJAJ-AUTO’)不起作用.

onclick =“processAdvise(‘BAJAJ-AUTO’)”当processAdvise()是Angular2组件的方法时也不起作用,因为onclick是纯HTML的,并且在全局JS范围内搜索以这种方式分配的函数而不是组件内部类.

<脚本>标签将从Angular2模板中删除

@Component({
  selector: '...',....
})
class MyComponent {
  constructor(private elRef:ElementRef) {
  }

  addHtml() {
    // add the HTML to the DOM
    this.elRef.nativeElement.querySelector('button').addEventListener('click',(event) => this.handleClick(event));
  }

  handleClick(event) {
    // doSomething();
  }
}

原文地址:https://www.jb51.cc/html/231373.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐