繁体   English   中英

Angular - 错误 TS2554:预期 1 arguments,但得到 0

[英]Angular - error TS2554: Expected 1 arguments, but got 0

我正在使用 Angular-11。

我有这个代码:

header.component.html:

<a class="btn btn-danger btn-flat float-right" href="javascript:void(0)" (click)='logout()'>退出

header.component.ts:

logout($event: MouseEvent){
  // tslint:disable-next-line:no-unused-expression
  $event.preventDefault();
  this.loggedIn = false;
  this.token.remove();
  this.auth.changeAuthStatus(false);
  this.router.navigateByUrl('/login');
  this.notify.info("Logout Succesfully", {timeout:2000});
}

我收到了这个错误:

错误 TS2554:预期为 1 arguments,但得到 0

<a class="btn btn-danger btn-flat float-right" href="javascript:void(0)" (click)='logout()'>退出

它突出显示注销()。

我该如何解决这个问题?

谢谢

您的logout方法需要您未提供的参数(事件)。

在模板中,您必须编写(click)='logout($event)'

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

你应该通过$event object。

(click)='logout($event)'

您的logout function 具有MouseEvent参数,并且您没有在 html 文件中发送它。

您的 html 模板应该是

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM