在我们目前关于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.原始代码。
答案 0 :(得分:1)
这似乎是 Ember 1.0.0-pre.3(2013年1月17日)的重大变化:
Ember.Object.create
的行为与setProperties
相似。使用createWithMixins
表示旧行为。