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