2013-03-25 71 views
0

在我们的灰烬(V1.0.0-pre.2)当前实现,我们有这样的:灰烬JS RC1 - 混入方法/属性不适用

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')确实工作。

所以我的问题是mixin的创建/行为在RC1中是否发生了变化,或者我是否错过了某些w.r.t.原始代码。

回答

1

这似乎是在灰烬1.0.0-pre.3重大更改(2013年1月17日)

  • 重大更改:Ember.Object.create行为就像setProperties。对旧行为使用createWithMixins