在我的主干应用程序中,我想要列出某个类的所有子类(从其扩展的子类)A
。为了实现这一点,我想覆盖默认extend
方法,但是我的(也许是天真的)方法不起作用:
var A = Backbone.Model.extend({
/* ... */
}, {
__children: [],
extend: function () {
var Klass = this;
result = Klass.__super__.extend.apply(Klass, arguments);
Klass.__children.push(result);
return result;
}
});
B = A.extend({}, {className: "B"});
A.__children // === []
为什么这不起作用,覆盖扩展方法时是否有一些魔法?