我有这样的事情:
MyView = Backbone.Marionette.ItemView.extend({
templateHelpers: function () {
return {
imageName: function () {
var img = this.name.toLowerCase().replace(" ", "_");
return img;
}
}
},
myFunc: function() {//something}
//lots of other stuff
})
MySecondView = MyView.extend({
myFunc: function() {//something}
})
这样做的动机是我想在 ItemView 的第二次使用中重写函数 myFunc,但除此之外它是相同的。
我发现的问题是我必须在 MySecondView 中重新声明 templateHelpers 属性 - 否则我会收到有关未定义 imageName() 的错误。我没想到会这样。如果我“扩展”它肯定应该在那里。但是,那么,我不确定这里的“扩展”是什么。我不认为它是 jQuery 扩展。