定义函数时出现 ReferenceError undefined
2016-08-06
560
我的 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
而该函数在我的组件中定义得非常清楚。有什么见解吗?
1个回答
onclick
是一个“原始”(常规)JavaScript 绑定。​​执行的函数将是
window.onRowSelected
。由于它不存在,因此您会收到错误。
在 Angular2 中绑定 JavaScript 事件的正确方法是
(nameOfTheEvent)="codeToBeExecuted"
。这样,
@Component
处的函数将可用。
这样,由于您尝试绑定单击事件,对于 Angular,正确的方法是
(click)
。
因此:
<div onclick="onRowSelected(record)">
应该变成:
<div (click)="onRowSelected(record)">
acdcjunior
2016-08-06