Ember js RC1 - 未应用mixin方法/属性

时间:2013-03-25 05:15:34

标签: ember.js

在我们目前关于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创建/行为是否发生了变化,或者我是否错过了w.r.t.原始代码。

1 个答案:

答案 0 :(得分:1)

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

  • 突然变更:Ember.Object.create的行为与setProperties相似。使用createWithMixins表示旧行为。