2012-05-26 90 views
0

如果我有以下幾點:在Ember.js中,如何使用super()遍歷對象繼承樹?

var ObjectA = Ember.Object.extend({ 
    init: function() { 
    this._super(); 
    document.write('init object A<br>'); 
    } 
}); 

var ObjectB = ObjectA.extend({ 
    init: function() { 
    this._super(); 
    document.write('init object B<br>'); 
    } 
}); 

var ObjectC = ObjectB.extend({ 
    init: function() { 
    this._super(); 
    document.write('init object C<br>'); 
    } 
}); 

var myobj = ObjectC.create(); 

如何讓這個ObjectC的init()方法不調用對象B的init方法?

http://jsfiddle.net/QYKb3/

+2

好像你不應該使用繼承,如果你不希望這種行爲。 – ebryn

回答

0

這在#emberjs回答raycohen。當然,答案很簡單,根本涉及調用對象A的原型:

ObjectA.prototype.init.call(this); 

更新小提琴:http://jsfiddle.net/QYKb3/1/