javascript - Angular 导航和模块中的问题
问题描述
我在我的 Angular 页面中有一个名为"Process Loan"的按钮。当员工单击此按钮时,他会来到另一个包含三个链接的页面。这 3 个链接中的每一个都指向一个单独的页面,用户可以在其中填写表格并将其发送到服务器。这 3 个包含表单的页面是模块内的 Angular 组件(我们称之为“my-process-loan-module”)。这意味着当用户点击“Process Loan”按钮时,他会进入一个包含 3 个组件的模块。每个组件都是一个表单。
我现在面临的挑战是有很多员工,我们希望确保一次只有一名员工可以访问“处理贷款”按钮。当员工点击按钮时,必须为其他员工禁用它。
即使没有填写表格,第一个点击“处理贷款”按钮的员工也可以浏览 3 个页面/组件。只要他/她在任何页面内,其他员工都无法访问“处理贷款”按钮。
我曾canDeActivate
在 Angular 中学习过,但它似乎只适用于组件。我正在寻找是否可以canDeActivate
为Angular模块做(因为3个组件(页面)在一个模块内),这样当第一个员工退出模块(远离模块内的组件)时,我可以重新激活“进程其他员工的“贷款”按钮。
我正在寻找一种方法来确定第一个员工将访问的页面不是"my-process-loan-module"中的页面(组件)的一部分。
更新
在服务器上,我设置了一个布尔值,即当第一个员工单击该按钮时,“处理贷款”按钮处于非活动状态。我需要知道员工何时退出模块中的页面,以便我可以为想要使用“处理贷款”按钮的其他员工启用状态。
解决方案
当用户离开给定组件时,该组件的ngOnDestroy()
方法被调用。将任何需要的销毁逻辑放在那里。
编辑:如果您需要确保即使用户关闭窗口也会触发它,请添加@HostListener('window:beforeunload')
装饰器。
推荐阅读
- windows - 在不指定网络地址的情况下无法通过 Firebird 别名连接到本地数据库
- wmi - WMI 查询的不同结果取决于用户帐户?
- neo4j - Neo4j 中作为列表或数组的属性
- css - 在反应中单击按钮时在多个按钮样式之间切换
- r - 基于向量提取列,如何以正确的顺序获取它?
- rust - 如何更改动态调度/特征对象的数据指针?
- python - 修改 python 中预先存在的 float 类以包含自定义圆形函数
- excel - 从主文件到多个文件的 VBA 更新链接
- r - aws.s3 R 包 - 用于浏览器显示的 put() 图像
- php - Wordpress:添加到functions.php的代码在更新后消失