ERANAMES和ERAS在角度区域

Rob*_*ssi 3 javascript twitter-bootstrap angularjs

我已经在ASP.NET 4.5 Angular项目中更新了Nuget包:ui-bootstrap-tpls.js从版本0.14.3 - 2015-10-23(更新2015-12-01)更改为1.0.3 - 2016- 01-11; 自2015-12-01以来,Angular为1.4.8.

使用新的ui-bootstrap-tpls.js,在输入文本上使用uib-datepicker-popup属性时遇到"未定义连接"js错误; 经过一些调试后,我发现问题出在第688行,即formatCodeToRegex变量的赋值.

在这个地方管理格式化的"G"字符(未在2015年10月版本中完成),其中$ locale.DATETIME_FORMATS是一个有效的对象,但未定义$ locale.DATETIME_FORMATS.ERANAMES和$ locale.DATETIME_FORMATS.ERAS,所以$ locale.DATETIME_FORMATS.ERANAMES.join失败了.

我不使用"G"进行日期格式化,所以在Google上进行一些搜索之后我通过评论失败的部分来解决问题....:

.....
{
  key: 'ww',
  regex: '[0-4][0-9]|5[0-3]'
},
{
  key: 'w',
  regex: '[0-9]|[1-4][0-9]|5[0-3]'
}//,
//{
//  key: 'GGGG',
//  regex: $locale.DATETIME_FORMATS.ERANAMES.join('|').replace(/\s/g, '\\s')
//},
//{
//  key: 'GGG',
//  regex: $locale.DATETIME_FORMATS.ERAS.join('|')
//},
//{
//  key: 'GG',
//  regex: $locale.DATETIME_FORMATS.ERAS.join('|')
//},
//{
//  key: 'G',
//  regex: $locale.DATETIME_FORMATS.ERAS.join('|')
//}
Run Code Online (Sandbox Code Playgroud)

但显然不是最好的解决方案.我搜索了很多,但我不明白如何让DATETIME_FORMATS.ERANAMES和ERA未定义.

在本地化文件中,例如 http://code.angularjs.org/1.4.8/i18n/angular-locale_en-us.js 声明这些值,并且我在脚本标记中调用先前的角度区域设置js.

小智 6

升级到Angular 1.4.9之后我遇到了同样的麻烦.我需要升级Angular Locale(https://code.angularjs.org/1.4.8/i18n/angular-locale_es-es.js)并解决错误.