问题标签 [angular-route-guards]

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 投票
1 回答
48 浏览

angular - 角度服务变量更新值未反映在组件中

我在访问我的角度组件内的服务变量值时遇到问题。Navbar 组件将用户设置为在服务内登录,并且路由保护负责启用子路由,但路由保护无法获取 userStatus 的更新值

路由保护组件

0 投票
1 回答
34 浏览

angular - 当最终结果为真时,Angular Router Guard 无法解析

当最后的 if 语句为真时,以下代码可以正常工作。当最终的 if 语句为假时,永远不会解析请求的路由。我试过添加等待和异步。我已经尝试将代码移动到一个单独的函数中,该函数返回一个带有布尔值的等待,并且在它应该解析路由时没有任何工作。当它应该拒绝重定向到设置时,它总是有效。

如果语句

完整的路由器保护

0 投票
2 回答
93 浏览

angular - Angular RouteGuard“声明类型既不是'void'也不是'any'的函数必须返回一个值”

我有一个路由守卫,可以在继续之前检查用户是否可以访问资源。订阅后,我检查用户是否有权访问,如果没有,则使用重定向parseUrl或返回true

如果我只返回支票,这有效,但我也希望它根据该支票重定向。

我在第一块代码中遗漏了什么,我应该从服务中解决订阅...

0 投票
1 回答
52 浏览

angular - 如何取消订阅此订阅?

我有PolicyGuard一个方法canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot)

canActivate我创建了一个 observable 时,在这个 observable 内部我订阅了一个从我的AbilityService.

我从中检索到的 observableAbilityService监听用户“策略”/“能力”的变化。

当我对用户的“策略”进行更改并将这些更改推送到客户端时,这会变得非常混乱,Socket.io当我不希望它使用页面重定向到主页时可能会发生(一个订阅运行obs.next(true)而另一个订阅路由回家并奔跑obs.next(false)

离开订阅的页面时,有没有办法让订阅取消订阅?