在Angular2中加载“配置”

时间:2015-12-09 00:05:04

标签: typescript angular

我正在将现有应用转换为Angular 2,客户端代码从服务器上的API获取其配置(诸如遥测设置和其他API的URL)。我有一些服务依赖于该API返回的URL来构建数据请求。如何获取该服务的URL?

我最初的计划是制作一个新的“配置”服务来处理获取数据。但是(我相信)每当你想访问一个配置属性时,你就必须“订阅”它以获取值(至少,这是我正在对其他服务做的事情)。我还必须弄清楚如何链接响应,因此一旦返回配置服务的数据,就会触发来自实际服务请求的数据。

为了解决这个问题,我可以在App的构造函数中调用配置服务(因此它将加载应用程序启动时的数据)并将数据转储到单例中。但是,我需要确保依赖于配置数据的东西在加载之前不访问属性。

我应该采取什么方法的建议?

1 个答案:

答案 0 :(得分:1)

我采取了几种不同的方法。

最简单的方法是将配置值注入页面服务器端,这样您就可以开始了解它们,而不必担心调用外部API。

如果这对您不起作用,那么您可以按照建议将属性转储为单例。但是你需要将全局O(n)放入该单例(如下面的Promise字段),一旦检索到这些值就可以解析。然后在使用任何这些值之前,将您的调用链接到该全局配置,例如:

ready