答案 0 :(得分:0)
您可以使用:
Service :可以从任何组件访问的共享服务(在根模块中声明),请确保首先解密信息并将其存储在内部的变量中您的服务。
Store :Redux之类的东西,您可以在其中存储解密的用户信息,并从任何地方访问它。
答案 1 :(得分:0)
我使用的一般规则是,在*ngIf
之类的东西上使用函数,在每个摘要周期对其进行处理。这就是为什么您的表现受到打击的原因。尝试将console.log()
放入解密函数中,看看每秒被调用多少次。
您可以将加密的值存储在本地存储中,然后使用服务将解密的值存储在内存中。然后,您调用服务以获取解密的值。然后,如果用户刷新页面,则必须再次对其解密一次,然后传递解密后的值。这是我正在谈论的示例。
service.ts
decryptedValue = null;
getDecryptedValue() {
if (!decryptedValue) {
this.decryptedValue = this.decrypt(localStorage.getItem('encryptedValueKey'));
}
return this.decryptedValue;
}
component.ts
temp = null;
ngOnInit() {
this.temp = this.service.getDecryptedValue();
}
然后,您可以从所需的任何组件调用该服务,并且与您现在正在执行的操作相比,它应该相当快