私のバックボーン アプリでは、特定のクラス (から拡張されたもの) のすべての子クラスのリストが必要です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 // === []
なぜこれが機能しないのですか?extend メソッドをオーバーライドする際に何か魔法があるのでしょうか?