这个问题可能是由于你的权限守卫没有正确地进行导航而导致的。你可以通过修改你的导航方法来解决这个问题。以下是一些代码示例:
import { Injectable } from '@angular/core';
import { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, Router } from '@angular/router';
import { Observable } from 'rxjs/Observable';
@Injectable()
export class AuthGuard implements CanActivate {
constructor(private router: Router) {}
canActivate(
next: ActivatedRouteSnapshot,
state: RouterStateSnapshot): Observable | Promise | boolean {
const isAuthenticated = true; // Check if user is authenticated
if (isAuthenticated) {
return true;
} else {
this.router.navigate(['/login']); // Navigate to login page
return false;
}
}
}
import { Component } from '@angular/core';
import { Router } from '@angular/router';
@Component({
selector: 'app-my-component',
templateUrl: './my-component.component.html',
styleUrls: ['./my-component.component.css']
})
export class MyComponentComponent {
constructor(private router: Router) {}
navigateToNewRoute() {
const isAuthenticated = true; // Check if user is authenticated
if (isAuthenticated) {
this.router.navigate(['/new-route']); // Navigate to new route
} else {
this.router.navigate(['/login']); // Navigate to login page
}
}
}
通过在权限守卫或组件中使用路由器导航,你应该能够成功跳转到新路由了。
上一篇:Angular权限守卫问题
下一篇:Angular全选分页问题