【发布时间】:2016-06-25 22:03:20
【问题描述】:
我需要为我们的应用程序提供日期格式。我们使用它来设置所有日期显示和输入的格式。
我需要在应用程序的许多地方提供此信息。但是,日期因客户而异。我们有一个 API 调用,它以 JSON 对象的形式提供各种设置(其中之一是日期配置)。
我希望能够通过 DI 提供一个将配置选项表示为值的对象。提供值的例子很多,但它们都是静态的而不是动态的。
我想在我的 DI 组合根目录中做这样的事情
provide('DateFormat', {
useValue: 'dd/MM/yyyy'
})
但是,我希望 'dd/MM/yyyy' 来自启动时的设置。
我尝试通过服务提供它,但它在一些地方导致了竞争条件问题(当一项服务运行时值不可用)。其中一些可以通过使用更多的 observable 重写来解决,但这只会使代码更复杂。所以我想要某种方式通过 DI 提供对象并在做任何其他事情之前设置值。
任何想法如何实现这一目标?
【问题讨论】:
标签: dependency-injection angular angular2-services