Angular中如何将含动态变量的报错信息存入config.json并读取
解决方案
完全可以将报错信息存到config.json中统一管理,避免业务代码硬编码文案,调整步骤如下:
- 第一步:修改config.json新增文案配置
JSON格式不支持原生ES6模板字符串,我们用自定义占位符标记动态参数即可,修改后的配置如下:{ "timeout": 10000, "errorWithCodeTemplate": "An error due to {code} has been occured.Please try Again.Thanks!!!" } - 第二步:补全类型声明(未定义Config接口可跳过)
如果你的项目中定义了Config类型用于约束config.json的返回结构,需要新增对应字段的类型声明避免类型报错:interface Config { timeout: number; errorWithCodeTemplate: string; } - 第三步:业务代码读取配置并组装动态报错信息
先读取配置中的模板字符串,再将占位符替换为实际的动态code值即可:// 读取配置模板,和你之前读取timeout的逻辑一致 const errorTpl = this.config.getConfig('errorWithCodeTemplate'); // 替换动态参数得到最终报错信息 const errorMessage = errorTpl.replace('{code}', code);
注意:调用getConfig读取配置前,需要确保
ConfigService.loadConfig()已经执行完成,config对象已初始化,否则会返回undefined,该约束和之前读取timeout配置的前置条件一致。
内容的提问来源于stack exchange,提问作者rissa
相关产品推荐
相关产品推荐

