Angular 角度错误TS2554:应为1个参数,但得到0个

Angular 角度错误TS2554:应为1个参数,但得到0个,angular,Angular,我用的是Angular-11 我有以下代码: header.component.html: 注销 header.component.ts: 注销($event:MouseEvent){ //tslint:禁用下一行:无未使用的表达式 $event.preventDefault(); this.loggedIn=false; this.token.remove(); this.auth.changeAuthStatus(false); this.router.navigateByUrl('/log

我用的是Angular-11

我有以下代码:

header.component.html:

注销

header.component.ts:

注销($event:MouseEvent){
//tslint:禁用下一行:无未使用的表达式
$event.preventDefault();
this.loggedIn=false;
this.token.remove();
this.auth.changeAuthStatus(false);
this.router.navigateByUrl('/login');
this.notify.info(“成功注销”,{timeout:2000});
}
我得到了这个错误:

错误TS2554:应为1个参数,但得到0个

注销

它突出显示logout()

我如何解决这个问题


谢谢

您的
注销
方法需要一个您没有提供的参数(事件)

在模板中,您必须编写
(单击)=“注销($event)”


$event
是由Angular提供的表示事件的变量。

您应该传递
$event
对象

(click)='logout($event)'

您的
logout
函数具有
MouseEvent
参数,您不会将其发送到html文件中

您的html模板应该是

<a class="btn btn-danger btn-flat float-right" href="javascript:void(0)" (click)='logout($event)'>Sign out

注销

函数需要一个参数:
注销($event:MouseEvent)
。在html模板中使用任何参数时,都不会传递任何参数。