我收到了onclick事件处理程序的Uncaught ReferenceError:
<ng-conatiner *ngIf="x else y" >
<div onclick="x()"> {{x.getText()}} </div>
</ng-conatiner>
<ng-template #y>
<div>{{y.getText()}}</div>
</ng-template>
export class A implements OnInit {
ngOnInit() {
console.log("in ngOnInit");
}
x(){
console.log("clicked");
}
}
可以在控制台中单击预期的结果,但是我遇到了未捕获的参考错误。
有人可以帮我吗?
答案 0 :(得分:0)
您应该使用(click)="x()"
而不是onclick
<ng-conatiner *ngIf="x else y" >
<div (click)="x()"> {{x.getText()}} </div>
</ng-conatiner>
这是Angular的文档页面,供您进一步阅读: https://angular.io/guide/user-input
更新
这是有关事件绑定的教程:
答案 1 :(得分:0)
您应该使用(click)=x()
。
click
和onClick
是同一事件。内联分配处理程序时应使用onclick
,使用事件侦听器进行分配时应使用click
。
on-event 处理程序是DOM元素提供的一组属性,可帮助管理该元素对事件的反应
在angular中,我们使用事件监听器,因此使用click
。:
<ng-conatiner *ngIf="x else y" >
<div (click)="x()"> {{x.getText()}} </div>
</ng-conatiner>