我的app.component.ts文件中定义了一个定义为
的函数export class AppComponent {
....
onRowSelected(record:any) {
this.selectedRecord = record;
}
....
}
当选择表格行时,我在app.component.html文件中使用该函数作为回调函数
<tr *ngFor="let record of records">
<div onclick="onRowSelected(record)">
<!-- Create a checkbox for each row -->
<td>
<md-checkbox></md-checkbox>
</td>
<!-- For each entry in the config, create a cell -->
<td *ngFor="let column of config.columns"
....
</td>
</div>
</tr>
我不明白我为什么会这样做
VM11199 Uncaught ReferenceError: onRowSelected is not defined
在我的组件中明确定义函数时。任何见解?
答案 0 :(得分:3)
onclick
是&#34;香草&#34; (常规)JavaScript绑定。执行的功能为window.onRowSelected
。由于它不存在,你会收到错误。
在Angular2中绑定JavaScript事件的正确方法是(nameOfTheEvent)="codeToBeExecuted"
。这样,@Component
的功能就可用了。
这样,由于您尝试绑定click事件,对于angular,正确的是(click)
。
所以这个:
<div onclick="onRowSelected(record)">
应该成为:
<div (click)="onRowSelected(record)">