强制返回按钮重定向到默认组件

时间:2019-04-09 12:39:55

标签: angular

我正在开发Angular SPA。 我要实现的是防止浏览器的Back按钮返回并加载路由器隐含的先前组件。相反,我想每次按下Back按钮时都加载默认组件,或者重定向到通用错误页面。在驱动到现有的Angular路由路径时,我正在使用停用防护来管理Back按钮。

export interface CanComponentDeactivate {
  canDeactivate: () => Observable<boolean> | Promise<boolean> | boolean;
}

@Injectable({
  providedIn: "root"
})
export class CanDeactivateGuard implements CanDeactivate<CanComponentDeactivate> {
  canDeactivate(component: CanComponentDeactivate) {
    return (component && component.canDeactivate) ? component.canDeactivate() : true;
  }
}

让我们做起来更容易。想象componentA导致componentB。到componentB时,我希望“后退”按钮指向componentE(默认错误组件)。一种想法是使用Angular路由器通过检查某些标志(一旦按下“后退”按钮会更改)从componentE导航到componentA。但是,这样我就无法避免加载componentA。有更好的方法吗?

0 个答案:

没有答案