我正在使用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。
有人有经验吗?感谢。
答案 0 :(得分:2)
您不应该直接使用区域设置的sets
属性。 sets
属性仅包含在该语言环境中定义的集合。继承的集合仅在继承的语言环境中定义(您可以通过查看myLocale.inherits.sets
实际看到,但这不应该直接使用)。
相反,使用myLocale.get('Date')
将返回您需要的设置。
使用Locale.get('Date')
也可以正常工作,并始终返回当前有效区域设置的集合(通过Locale.use('de-CH')
设置)。
您还可以使用.get('Date.months')
之类的调用来获取特定属性。
更多信息可在MooTools' Locale documentation中找到。