首页 > 解决方案 > Angular Redirection 执行我的方法以及 NgOnInit。为什么?

问题描述

我是新来的,所以请耐心等待。我遇到了 Angular 重定向问题。当我手动清除存储时,代码执行 ngOnInit,提示错误,重定向到登录页面(如预期的那样),但是当我尝试使用注销方法做同样的事情时,我的代码执行注销方法,ngOnInit 然后重定向到登录页面。为什么当我重定向到另一个页面时它正在执行同一页面的 ngOnInit ?下面的代码显示了注销方法。

我尝试在全球范围内制作,将代码移动到构造函数

this.localStorage.clear().subscribe(() => {
    console.log('Logout Method'); 
    alertify.success("Logout Successfull !!");  
    this.router.navigate(['/login']);
    }, () => {
      alertify.error("Storage error"); 
});

代码应该只执行 logout 方法而不是同时执行 logout 和 ngOnInit

标签: htmlangulartypescriptangular-local-storagengoninit

解决方案


看来我在代码中犯了一些错误

<a href="main_nav#" (click)="logout()" >Logout</a>

我将HREF中的 URL指向 main_nav,然后调用 logout()。因此,在删除HREF的内容后,它对我有用。

<a href="" (click)="logout()" target="_self">Logout</a>

这对我有用☻</p>


推荐阅读