继承区域设置无法正常工作

时间:2012-11-28 09:31:21

标签: javascript mootools locale mootools-more

我正在使用MooTools 1.4.1(完全更多)并遇到继承问题

Locale.define('de-CH').inherit('de-DE', 'Date');

当我使用此区域设置(de-CH)时,按如下方式访问它

var myLocale = Locale.getCurrent()

myLocale.sets.Date未定义,唯一定义的是myLocale.sets.FormValidator,但这只是因为它是显式设置而不是继承。

例如,在验证日期时,这会导致错误。

所以,在我看来,我做错了什么或继承机制Locale有一个bug。

有人有经验吗?感谢。

1 个答案:

答案 0 :(得分:2)

您不应该直接使用区域设置的sets属性。 sets属性仅包含在该语言环境中定义的集合。继承的集合仅在继承的语言环境中定义(您可以通过查看myLocale.inherits.sets实际看到,但这不应该直接使用)。

相反,使用myLocale.get('Date')将返回您需要的设置。

使用Locale.get('Date')也可以正常工作,并始终返回当前有效区域设置的集合(通过Locale.use('de-CH')设置)。

您还可以使用.get('Date.months')之类的调用来获取特定属性。

更多信息可在MooTools' Locale documentation中找到。

相关问题