我正在使用Angular bootstrap datepicker popup,我想根据语言环境设置文本框的日期格式,所以我的想法是从语言环境文件中读取属性“shortdate”并将其设置为format属性。
所以我的问题是,如何阅读区域设置文件?此文件存在,本地化实际上正常工作,您可以在浏览器的开发人员工具的网络选项卡中看到该文件
答案 0 :(得分:0)
我曾经有过同样的要求,并最终使用了' tmh.dynamicLocale'模块(see here。
使用此模块,您首先必须配置区域设置提供程序。在角度配置功能中,注入&#t; tmhDynamicLocaleProvider'并调用localeLocationPattern()函数来定义用于访问语言环境文件的模式。
例如:
tmhDynamicLocaleProvider.localeLocationPattern('vendor/angular/locale/angular-locale_{{locale}}-{{locale}}.js');
然后,每当应该更改区域设置时,您只需要注入“tmhDynamicLocale”'在你的service / controller / ...中调用set()函数,输入你要切换到的语言环境作为参数。
希望能帮到你。
答案 1 :(得分:0)
我意识到没有必要阅读任何东西,因为Angular已经加载了语言环境,你可以在$ locale服务中获得所有数据。
this.format = $locale.DATETIME_FORMATS.shortDate;
在我的情况下,这个格式变量被分配给uib-datepicker-popup,如下所示:
<input type="text" uib-datepicker-popup="{{vm.format}}"
ng-model="vm.model" datepicker-options="vm.dateOptions"
ng-required="vm.isRequired" ng-disabled="vm.isDisabled"/>
愚蠢的问题,我希望将来其他一些人可能会有所帮助:)