[英]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.