this`分辨率我有一個使用視圖繼承的情況下,我的代碼看起來基本上是這樣的:Backbone.js的瀏覽繼承。 `在父母
parentView = Backbone.View.extend({
events: {
"some event": "business"
},
initialize: function(){
_.bindAll(this);
},
business: function(e){
...
this.someFunc && this.someFunc();
...
}
});
childView = parentView.extend({
events: {
...
},
constructor: function(){
this.events = _.extend({}, parentView.prototype.events, this.events);
parentView.prototype.initialize.apply(this);
},
initialize: function(){
_.bindAll(this);
},
someFunc: function(){
...
}
});
更新:感動this.events
擴展構造。
我的子視圖中有someFunc
,並在父視圖中的某些業務功能,如果它存在,它應該調用該函數。如果this
正確設置爲childView,然後this.someFunc
應該存在。但是,這不是我所經歷的行爲。
在initialize
函數(在父類中)中,this
確實設置爲子視圖。然而,當some event
大火之後,business
函數調用this
設置爲parentView
。
好,很酷。你能告訴我parentView.prototype.initialize和parentView.constructor.initialize之間的區別嗎? – idbentley 2011-06-07 16:28:52
我更新了我的問題:即使使用這種技術也存在同樣的問題。 'parentView.constructor.initialize'未定義。 – idbentley 2011-06-07 16:59:33
我也試過:'parentView.prototype.constructor',沒有任何運氣。 – idbentley 2011-06-07 18:03:28