cevap
Süper bir kenara ayırın: JavaScript, numaralı telefonu aramak için basit bir yol sağlamaz - aynı adın işlevi, prototip zincirinde daha yüksek olarak tanımlanır. her zaman sınıf hiyerarşisinde
, this.constructor
: Eğer seti gibi bir çekirdek işlevini geçersiz veya kaydetmek ve üst nesnenin uygulanmasını çağırmak için isterseniz, açıkça, bu satırlar boyunca, diyoruz gerekecek nestedNestedChildView
yapıcıya eşittir, yani this.constructor.__super__.initialize
nestedChildView.initialize
olacaktır ve böylece bir döngü olacaktır. Bir test için bkz. http://jsfiddle.net/X5yBb/.
Açıkça sınıf __super__ (http://jsfiddle.net/X5yBb/1/)
var nestedChildView = parentView.extend({
initialize: function(){
console.log('nestedChildView');
nestedChildView.__super__.initialize.apply(this);
}
});
var nestedNestedChildView = nestedChildView.extend({
initialize: function(){
console.log('nestedNestedChildView');
nestedNestedChildView.__super__.initialize.apply(this);
}
});
arayabilir veya dilerseniz prototip zincirinde (http://jsfiddle.net/X5yBb/2/) yöntemlerini diyebiliriz:
var nestedChildView = parentView.extend({
initialize: function(){
console.log('nestedChildView');
parentView.prototype.initialize.apply(this);
}
});
var nestedNestedChildView = nestedChildView.extend({
initialize: function(){
console.log('nestedNestedChildView');
nestedChildView.prototype.initialize.apply(this);
}
});
ileri bilgi için Accessing parent class in Backbone ve Super in Backbone görün Konuyla ilgili.
Cevabınız için teşekkür ederiz. – Erik