一个通过JWT进行身份验证的系统,在本地存储上,JWT设置在一个变量上,而用户角色在本地存储上的另一个变量上。但是,所有信息(包括JWT)都是通过CryptoJS加密的,然后在侧边栏上,例如,我们有ngIfs仅用于显示具有某些角色的用户的某些菜单。所有这些ngIfs调用一种方法,该方法对本地存储上的数据进行解密以获取用户角色,然后执行验证。问题在于,多个图标/边栏图标/等中的所有这些解密操作都开始使系统真正变慢。那么,在这种情况下,有人对在哪里保存用户数据有想法吗? :)
您可以使用:
[Service:可以从任何组件访问的共享服务(在您的根模块中声明),请确保首先解密信息并将其存储在服务内部的变量中。]
Store
我使用的一般规则是,在*ngIf之类的东西上使用函数,在每个摘要周期对其进行处理。这就是为什么您的表现受到打击的原因。尝试将console.log()放在解密函数中,看看每秒被调用多少次。
*ngIf
console.log()