在现有的角度应用程序中,我们使用了区域设置服务,该服务根据下拉列表的选定值设置区域设置。此区域设置服务来自angular-l10n库。
最近购买了角度的Kendo-UI。我们相信我们可以将datepicker和其他国际化挂钩到这个语言下拉列表(甚至是l10n语言环境服务)。到目前为止,我还没有发现挂钩或订阅服务或下拉列表。
我真的不知道在哪里可以看。
Kendo-UI文档通过从@ angular / core设置LD_Locale来实现这一点,但是从我读过的内容来看,这是一个const,并且在init之后无法更新。
关于如何根据下拉菜单使国家化日期格式的想法或帮助?
答案 0 :(得分:2)
实际上,Angular的Kendo组件依赖于LOCALE_ID
注入令牌来确定所选择的文化设置。由于Angular DI的静态行为,在引导程序之后无法更新此标记,您需要为每种文化都有一个专用模块。该模块将为LOCALE_ID定义特定的提供者:
providers: [{ provide: LOCALE_ID, useValue: 'de' }]
以下是使用此方法的演示:http://plnkr.co/edit/tBWDLziqXRrslupopojY?p=info
另一个选项(正如Philipp在他的评论中提到的)是使用IntlService类的自定义实现,它不依赖于LOCALE_ID
标记。文档链接可以在下面找到:
即将推出的第三个选项是在组件级别定义文化(仍在考虑它是服务还是输入属性)。更多细节可以在这个Github问题中找到:
https://github.com/telerik/kendo-angular/issues/1009
总结一下,
虽然LOCALE_ID
令牌无法动态修改,但可以使用上述方法之一动态更新文化。