为用户输出消息
Output messages for the user
我需要你的帮助。我使用 toast 库为我的授权系统显示用户消息。我没有错误,一切正常,但不正确。事实是我登录时出现消息,但输入不正确的数据时不起作用。告诉我,我做错了什么?非常感谢
success_message: string = "You logged in"
error_message: string = "Incorrect data"
coustructor(private toastService: ToastrService) {}
show_success(success_message: string) {
this.toastService.success(this.success_message)
}
show_error(error_message: string) {
this.toastService.error(this.error_message)
}
loginToSystem() {
this.tokenSubscription = this.authSerivce.loginUser(
this.loginForm.controls['username'].value,
this.loginForm.controls['password'].value,
this.rememberMeForm.controls['rememberMe'].value).subscribe(() => {
if (this.tokenSubscription) {
this.router.navigateByUrl(this.returnUrl)
this.show_success(this.success_message)
this.resetForm()
} else if (!this.tokenSubscription){
this.show_error(this.error_message)
}
})
}
您应该在订阅的 error block
中处理 error
响应。所以你的代码应该是这样的。
loginToSystem(): void {
this.tokenSubscription = this.authSerivce
.loginUser(
this.loginForm.controls['username'].value,
this.loginForm.controls['password'].value,
this.rememberMeForm.controls['rememberMe'].value
)
.subscribe(
(success: any) => {
this.router.navigateByUrl(this.returnUrl);
this.show_success(this.success_message);
this.resetForm();
},
(error: any) => {
this.show_error(this.error_message);
}
);
}
我需要你的帮助。我使用 toast 库为我的授权系统显示用户消息。我没有错误,一切正常,但不正确。事实是我登录时出现消息,但输入不正确的数据时不起作用。告诉我,我做错了什么?非常感谢
success_message: string = "You logged in"
error_message: string = "Incorrect data"
coustructor(private toastService: ToastrService) {}
show_success(success_message: string) {
this.toastService.success(this.success_message)
}
show_error(error_message: string) {
this.toastService.error(this.error_message)
}
loginToSystem() {
this.tokenSubscription = this.authSerivce.loginUser(
this.loginForm.controls['username'].value,
this.loginForm.controls['password'].value,
this.rememberMeForm.controls['rememberMe'].value).subscribe(() => {
if (this.tokenSubscription) {
this.router.navigateByUrl(this.returnUrl)
this.show_success(this.success_message)
this.resetForm()
} else if (!this.tokenSubscription){
this.show_error(this.error_message)
}
})
}
您应该在订阅的 error block
中处理 error
响应。所以你的代码应该是这样的。
loginToSystem(): void {
this.tokenSubscription = this.authSerivce
.loginUser(
this.loginForm.controls['username'].value,
this.loginForm.controls['password'].value,
this.rememberMeForm.controls['rememberMe'].value
)
.subscribe(
(success: any) => {
this.router.navigateByUrl(this.returnUrl);
this.show_success(this.success_message);
this.resetForm();
},
(error: any) => {
this.show_error(this.error_message);
}
);
}