当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函数来处理它 – 这个代码甚至在功能开始时都没有到达
我也试过这个无济于事:
解决方法
Angular2不以任何方式处理组件模板之外的HTML,因此预期(click)=“processAdvise(‘BAJAJ-AUTO’)不起作用.
onclick =“processAdvise(‘BAJAJ-AUTO’)”当processAdvise()是Angular2组件的方法时也不起作用,因为onclick是纯HTML的,并且在全局JS范围内搜索以这种方式分配的函数而不是组件内部类.
@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(); } }