1

MooTools 1.4.1 (完全な詳細) を使用していますが、継承で問題が発生します。

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

この Locale (de-CH) を使用し、次のようにアクセスすると

var myLocale = Locale.getCurrent()

myLocale.sets.Date は定義されていません。定義されているのは myLocale.sets.FormValidator だけですが、これは明示的に設定され、継承されていないためです。

たとえば、日付を検証する場合、これは明らかにエラーになります。

だから、私の目には、私は何か間違っているか、ロケールの継承メカニズムにバグがあります。

誰でも経験がありますか?ありがとう。

4

1 に答える 1

2

setsロケールのプロパティを直接使用することは想定されていません。プロパティには、そのsetsロケールで定義されたセットのみが含まれます。継承されたセットは、継承されたロケールでのみ定義されます (これは を見て実際に確認できますがmyLocale.inherits.sets、直接使用することも想定されていません)。

代わりに、を使用myLocale.get('Date')すると、必要なセットが返されます。

を使用Locale.get('Date')しても同様に機能し、常に現在アクティブなロケールのセットを返します ( で設定Locale.use('de-CH'))。

like 呼び出しを使用.get('Date.months')して、特定のプロパティを取得することもできます。

詳細については、MooTools の Locale documentationを参照してください。

于 2012-12-03T11:27:31.010 に答える