javascript - 在 Angular 中声明和更改全局变量?
问题描述
我开发了一个基于 .NET Core 的 Angular 应用程序,我想使用 a 为国家/地区创建一个全局变量,DropdownList
以便可以轻松更改全局值。然后通过所有其他页面访问此全局值(选定国家/地区)。通常我会使用以下方法,但我真的不知道我应该如何修改以下方法,以便用户可以随时设置全局过滤器值(所选国家)。
globals.ts:
export const version: string="22.2.2";
hero.component.ts:
import * as myGlobals from 'globals';
export class HeroesComponent implements OnInit {
public heroes: Hero[];
public selectedHero: Hero;
// Here we access the global var reference
public helloString: string="hello " + myGlobals.version + " there";
...
}
}
但是,我不知道如何使用这种方法设置这个全局值,或者有什么方法可以做到这一点。有什么合适的方法吗?
每当用户在此下拉列表中选择版本时,我是否应该添加一个下拉列表globals.ts
并更新它?version
是否正在使用具有 BehaviourSubject
最佳选择的服务来解决此问题?
解决方案
您可以使用 html5 存储,它最多允许 5mb
设置值:localStorage.setItem(keyname, value)
获取值:localStorage.getValue(keyname, value)
推荐阅读
- python - 删除字符串中连接在一起的字符和数字的部分
- amazon-web-services - 如何提前获取自动次要版本升级通知
- flutter - Flutter 类型为 'Future 的值
' 不能从方法 '_onBackPress' 中返回,因为它的返回类型是 'Future ' - rust - 迭代器的Rust“在编译时没有已知的大小”错误?
- datadog - 如何将 Vertex AI 日志与 Datadog 集成?
- swagger - 无法在 SpringDoc OpenAPI 中为动态 URL 设置映射
- python - 如何使用python在命令提示符下更改某个打印行的颜色?
- sql - 如何使用自定义列对连接表进行分组
- pandas - Pandas 滚动窗口小于等于
- firebase - Flutter web Firebase Google 身份验证