Backbone 查看覆盖父事件函数
Backbone view override parent event function
是否可以在子视图中覆盖 closeClick
功能?单击 .close
时,只有 运行 子项的 closeClick
函数而不是父项。
var ParentView = Backbone.View.extend({
events:{
"click .close": "closeClick"
},
closeClick: function(){
//do parent stuff
}
});
var ChildView = ParentView.extendable.extend({
events:{
"click .close": "closeClick",
//more child events
},
closeClick: function(){
//only do child stuff not parent when .close is clicked
}
});
您所写的内容可以正常工作 Backbone .extend
。不知道这个奇怪的 extendable
声明是什么 - 这可能是破坏它的原因。
var ParentView = Backbone.View.extend({
events: {
"click .close": "closeClick"
},
closeClick: function(){
//do parent stuff
}
});
var ChildView = ParentView.extend({
events: function() {
var parentEvents = _.result(ParentView.prototype, 'events');
return _.extend({
'keyup input': 'someOtherChildEvent'
}, parentEvents);
},
closeClick: function() {
//only do child stuff not parent when .close is clicked
}
});
是否可以在子视图中覆盖 closeClick
功能?单击 .close
时,只有 运行 子项的 closeClick
函数而不是父项。
var ParentView = Backbone.View.extend({
events:{
"click .close": "closeClick"
},
closeClick: function(){
//do parent stuff
}
});
var ChildView = ParentView.extendable.extend({
events:{
"click .close": "closeClick",
//more child events
},
closeClick: function(){
//only do child stuff not parent when .close is clicked
}
});
您所写的内容可以正常工作 Backbone .extend
。不知道这个奇怪的 extendable
声明是什么 - 这可能是破坏它的原因。
var ParentView = Backbone.View.extend({
events: {
"click .close": "closeClick"
},
closeClick: function(){
//do parent stuff
}
});
var ChildView = ParentView.extend({
events: function() {
var parentEvents = _.result(ParentView.prototype, 'events');
return _.extend({
'keyup input': 'someOtherChildEvent'
}, parentEvents);
},
closeClick: function() {
//only do child stuff not parent when .close is clicked
}
});