#angular
Вопрос:
Я использую Angular-11.
У меня есть этот код:
header.component.html:
<a class=»btn btn-опасность btn-плоская плавающая справа» href=»javascript:пустота(0)» (нажмите)=»выход()»>Выход
заголовок.компонент.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 аргумент, но получено 0
<a class=»btn btn-опасность btn-плоская плавающая справа» href=»javascript:пустота(0)» (нажмите)=»выход()»>Выход
Он выделяет выход из системы().
Как мне решить эту проблему?
Спасибо
Комментарии:
1. ваша функция ожидает параметр :
logout($event: MouseEvent)
. Вы не передаете никаких параметров при его использовании в html-шаблон.
Ответ №1:
Ваш logout
метод ожидает параметр (событие), который вы не предоставляете.
В шаблоне вы должны написать (click)='logout($event)'
.
$event
является переменной, предоставляемой Angular, представляющей событие.
Ответ №2:
Вы должны передать $event
объект.
(click)='logout($event)'
Ответ №3:
У вашей logout
функции есть MouseEvent
параметр, и вы не отправляете его в свой html-файл.
Ваш html-шаблон должен быть
<a class="btn btn-danger btn-flat float-right" href="javascript:void(0)" (click)='logout($event)'>Sign out