1

我正在使用 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 的继承机制有一个错误。

有人有经验吗?谢谢。

4

1 回答 1

2

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

相反, usingmyLocale.get('Date')将返回您需要的集合。

UsingLocale.get('Date')也能正常工作,并且总是返回当前活动区域设置的集合(通过 设置Locale.use('de-CH'))。

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

更多信息可以在MooTools 的语言环境文档中找到。

于 2012-12-03T11:27:31.010 回答