问题标签 [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.
angular - ngOnDestroy 在退出前警告用户
我试图找到一种在退出屏幕之前提醒用户的方法。如果他们按“否”,那么它不应该破坏。如果他们按“确定”,则继续进行销毁操作。
ngOnDestory 是否有在 ngOnDestory 之前发生的事件?例如 ngOnBeforeDestroying?
我目前正在使用 Angular 4 进行开发。
angular - 子页面中的 Angular 2 路由问题
我是新的 Angular 2 开发。我添加了一个组件,在这个组件内我还有一些其他的子组件。我的文件夹结构如下:
在parentComponent.html
我添加<router-outlet></router-outlet>
我有从 child1 到 child 2 和 child 2 到 child3 的导航。我也可以向后移动,反之亦然。搬回来我正在使用 this._location.back();
.
当我使用后退按钮向后移动时。它显示当前路线中的上一页组件。
例如 :
当我使用后退按钮从 child2 移动到 child1 时。child1 路线仍在 child1 页面中显示子 html 部分。
对于路由,我使用的是这样的:
我不知道为什么会这样。请帮忙!!
版本信息
angular - Angular 2 Guards:canLoad() 是否有任何原因触发两次?
canLoad 在拒绝或接受时触发两次
canLoad 实现
调用的服务方法
假设 Observale 布尔响应将被返回
javascript - 如何将路由保护应用于功能模块路由模块?
所以,我正在构建一个 Angular 4 应用程序,我希望所有路由都受到保护(当然登录路由除外)。我正在尝试使用功能模块和功能模块路由。所以,想象一下这样的事情:
,对于根模块,然后是用户功能模块路由配置,例如:
什么是最好的方法:
- 继续使用功能模块路由,并且
- 将路由保护应用于用户功能模块路由而不复制 canActivate 保护?有什么方法可以将它从根路由模块传递给用户功能模块路由?
谢谢,
伊拉克利斯
angular - Angular Route Guards:Or vs. And
我正在使用路由保护来保护我的 Angular 应用程序的前端。在过去与他们合作并在线研究时,为一条路线添加多个守卫要求所有守卫都返回 true 以允许访问。
但是如果我只想要一个返回 true 以允许访问呢?(像 || 而不是 &&)
例如,我的路由守卫在用户的令牌中查找某些角色:
和
如果我要将它们正常组合在路由器模块中,它将类似于...
{path: "someroute", component: SomeComponent, canActivate: [ActiveRouteGuard, AdminRouteGuard]}
...但这将要求用户既是Active
又是Admin
. 但是,如果我想强制执行 beingActive
和an或a怎么办?Admin
Manager
像这样在 API 上强制执行很简单:
但我如何在 Angular 中做到这一点?
angular - 路由守卫:如何转换 Observable进入 Observable
如何将 Observable<Response> 转换为 Observable<boolean>。这是在路线守卫内。
代码:
不工作。我不明白错误信息:
编辑
在浪费了 1 小时试图理解错误消息后,我改用了这个。似乎工作:
angular - 根据条件禁用路由器导航链接
如何router.navigate
根据状态禁用链接或链接?
如果状态为“否”,那么我不能键入链接来编辑材料?
HTML
TS
angular - Conditionally load modules in Angular 4
Is there any way to load module conditionally or prevent module access in some conditions? I just want to load modules and its subroutes only a specific condition satisfied.
The possible solution I tried till now
- Lazy load modules with routing details.
- canActivate with auth mechanism service.
Is there any effective way to achieve the same so that.
- Common features should not be duplicated.
- Module with routing details should be only loaded when in need.
Any help in this regard appreciated TIA.
angular - Angular 4子路由始终包含来自父级的参数
我有一个 Angular 4 webapp,它目前托管一个多租户站点。
一个示例网址将类似于
我已按如下方式设置我的路线,以让自己成为“租户守卫”,确保在尝试渲染路线之前始终拥有此属性
我想要确保我的路由器链接始终包含租户。
目前,我的导航组件看起来像
但是,单击“受保护”实际上会将我发送到
如何在我的子组件上设置任何链接以包含父路由中的租户参数?
我考虑的一种方法是传递是ActivatedRoute
从我的子组件周围传递服务并在组件内构造 url。
不过,这似乎有点低效,有没有另一种方法可以做到这一点而不在每个组件中都包含路由器?
angular - Angular - 我无法让 canDeactivate 与我的模式一起使用路线
设想:
技术:使用 typescript 和 webpack 的 Angular 版本 5 应用程序。
我做了一个canDeactivate 守卫来查看用户是否想离开当前路线。
当用户尝试导航到另一条路线时,需要出现我展示的自定义模式。
然后用户在模式中单击“是”(例如,我想离开)。
问题:
我的警卫服务很好,但模式方法“canDeactivate”没有受到打击。因此模态不会打开。
我已将自定义模式组件添加到 html。
我已经将警卫和模态添加到应用程序模块中。
这些是我下面的文件
停用GuardService:
我的自定义模式:
设置了 canDeactivate 的路由: