ng snotify 登录后不显示烤面包机

如何解决ng snotify 登录后不显示烤面包机

我正在构建一个 angular 11 示例应用程序,其中我实现了 ng snotify生成用于空登录(无凭据)、错误登录和有效登录的烤面包机。 ng snotify 烤面包机适用于无效的凭据,但它不适用于有效的登录凭据和空凭据,它有时会同时显示空凭据的烤面包机以及登录成功的烤面包机,这在技术上是不正确。 下面是代码文件以便更好地理解

login.component.ts

// @ts-ignore
import { Component,OnInit } from '@angular/core';
import { Router } from '@angular/router';
import { CookieService } from 'ngx-cookie-service';
import { AuthService } from '../../services/auth.service';
import { ToastrService } from "ngx-toastr";
import { NgxSpinnerService } from 'ngx-spinner';
import { snotifyService } from "ng-snotify";

/*import {userInfo} from "os";*/

@Component({
  selector: 'app-login',templateUrl: './login.component.html',styleUrls: ['./login.component.scss']
})
export class LoginComponent implements OnInit {
  /*Properties*/
  loading: boolean = false;
  action: string = '';
  private index: number = 0;

  constructor(public authService: AuthService,private router: Router,private cookieService: CookieService,private toastr: ToastrService,private spinner: NgxSpinnerService,private snotifyService: snotifyService) {
  }

  ngOnInit() {

  }

  signIn($event: any,email: string,pass: string): void {
    this.loading = true;
    const data = {
      userName: email,password: pass
    };

    if (data.userName === '' || data.password === '') {
      this.loading = false;

      this.snotifyService.warning('Username & Password cannot be empty','',{
        timeout: 7000,showProgressBar: false,cloSEOnClick: false,pauSEOnHover: true
      });

      $event.preventDefault();
    } else {
      this.authService.logIn(data).subscribe(response => {
        if (response.isValid == true) {
          this.cookieService.set('username',response.username);
          this.cookieService.set('password',response.username);
          this.cookieService.set('userId',response.id);
          this.cookieService.set('isLoggedIn',response.isValid);


          this.snotifyService.success('Logged in successfully!',{
            timeout: 7000,pauSEOnHover: true
          });


          this.router.navigateByUrl('/db');
          this.loading = false;
        } else {
          this.loading = false;

          this.snotifyService.error('Invalid Username or Password !',pauSEOnHover: true
          });
        }
      },error => {
        this.loading = false;
      });
      $event.preventDefault();
    }
  }
}

Empty Login Snotify toaster

Invalid credentials snotify toaster

Successful login but no snotify display

请问有什么解决办法吗?

解决方法

您导航到另一个页面,因此您基本上不会“看到”成功通知(它只是在进行重定向后快速发生)。

 this.router.navigateByUrl('/db');

您可以通过订阅其他页面或仅在 /db 启动时(登录时 - 重定向和登录组件启动后(使用 afterViewInit)进行通知)来实现。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?