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