0

Ember での現在の実装 (v1.0.0-pre.2) では、次のようになります。

var LoggingMixin = Ember.Mixin.create({
    LOGGING: false,

    log: function (message) {
        if (this.LOGGING) {
            Ember.Logger.log(logMessage);
        }
    }
});

var SomeNamespace = Ember.Namespace.create(LoggingMixin, {
});

これにより、 を呼び出すことができましたSomeNamespace.log('message')。これは Ember.js RC1 では機能しないようです。Javascript レポート: TypeError: SomeNamespace.log is not a function.

代わりに、RC1 で機能しているように見えるのは次のとおりです

var SomeNamespace = Ember.Namespace.extend(LoggingMixin);
var someNamesapce = SomeNamespace.create();

呼び出しsomeNamespace.log('message') が機能するようになりました。

私の質問は、ミックスインの作成/動作が RC1 で変更されたのか、それとも元のコードに何か欠けているのかということです。

4

1 に答える 1

1

これは、Ember 1.0.0-pre.3 (2013 年 1 月 17 日) の重大な変更のようです。

  • 重大な変更:Ember.Object.createのように動作しsetPropertiesます。createWithMixins古い動作に使用します。
于 2013-03-25T05:23:58.193 に答える