问题标签 [canactivatechild]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
88 浏览

angular7 - 如果 Angular 中的页面刷新进入递归,则防止路由到辅助视图

我正在开发“如果在 Angular 中刷新页面,则阻止路由到辅助视图”代码:https ://www.bennadel.com/blog/3368-prevent-routing-to-secondary-view-if-page-refresh-in- angular-5-0-0.htm

我已经开发了下面的代码,但是代码正在递归,并且相同的 Guard 继续在递归中执行。

注意:如果用户手动键入不存在的路由并在页面上刷新正确的路由,我想停止吗?

0 投票
3 回答
3463 浏览

angular - 如何在 Angular 中为所有路由(主路由和所有子路由)应用 canActivate 保护

我使用 Angular Guard 来保护我的路由,我在主路由中添加canActivate attr 并且它工作正常,而对于子单路由(ReportsRou​​teModule/RequestsRou​​teModule ...),如果我想启用防护,我还需要在每个路由中设置 canActivate路线,我认为这是使用角度防护的不好方法并且浪费了很多时间。那么有什么方法可以避免它并在主路由中管理它。

请看我的应用结构和一些代码如下: 1. 应用结构:

  1. 代码:主路由

子路线:

0 投票
0 回答
62 浏览

angular - 单击时,重定向到 canActive 一次返回 false 的路由

我在有 3 个孩子的路线上有一名警卫。ZeroStateComponent当我没有数据时,我登陆了。在 中ZeroStateComponent,我有一个Get started按钮,应该让我再次到达Admin路线。当我单击 时,什么也没有发生Get Startednopermissions仍然可以访问,但不知何故admin没有加载路线。是因为canActivate已经返回false过一次吗?

0 投票
1 回答
55 浏览

angular - 基于角色的角度路由到子路径

成功登录后,我重定向到以下路径 this.router.navigate(['/main/']) 基于从登录收到的角色。是否可以重定向到差异模块。

示例:如果角色是“管理员”,如果我根据角色重定向到 ['/main'],它将导航到管理模块。使用警卫

项目结构:

应用模块

主路由器文件

0 投票
0 回答
58 浏览

angular - Angular9 canActivateChild 在 canActivate 完成之前启动

我有这些路由的路由模块文件:

LoadDataGuard我编写了一个canActivate调用函数的enterTab函数(enterTab 管理子组件的数据。

这是我的代码:

这是enterTab功能:

在模型服务中:

canActivateChild我正在使用modelService.modelMetaData但它是未定义的,因为子组件canActivate在父组件完成之前加载。

我该如何解决这个问题?

0 投票
1 回答
60 浏览

angular - 角度 9 为什么 canActivateChild 在 canActivate 完成之前启动?

在我的程序中,我在 canActivateChild 中有一个函数需要在 canActivate finished 之后发生,但是子组件在父完成的 canActivate 之前加载,为什么?

0 投票
0 回答
17 浏览

angular - 同一个lazy模块下的组件间路由,不激活canActivateChild

我有一个名为 FirstComponent 的组件,它的位置在 /hub/first 中。hub-routing 模块检查每条路由,如下所示:

这意味着 HubGurad CanActivate 函数将检查每个“/hub”路由。

我还有一个用于检查和条件的第一个组件路由的保护,如果它不存在,它会将它重定向到“/hub/secondComponent”。

我面临的问题是我可以看到,虽然我在同一个 HubModule 下的 2 个组件内路由,但再次调用了“canActivate”函数。有没有一种方法可以在不重新激活 CanActivateChild 保护的情况下从第一个组件路由到第二个组件?