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 中的 mixin 创建/行为是否发生了变化,还是我在原始代码中遗漏了一些东西。

4

1 回答 1

1

这似乎是Ember 1.0.0-pre.3(2013 年 1 月 17 日)中的重大变化:

  • 突破性变化:Ember.Object.create表现得像setProperties. 用于createWithMixins旧行为。
于 2013-03-25T05:23:58.193 回答