【发布时间】:2014-09-22 23:53:00
【问题描述】:
在我的应用程序中,我发现实现一个FrameView 很方便,它可以扩展LayoutView,但会有一些额外的逻辑来保持框架标题等(我的目标是让Regions 处理显示标题)。
从 Java 的 Swing 角度来看,LayoutView 对我来说是 JPanel,但我想把它变成 JFrame 想要的 :-)
有没有办法扩展 Marionette 视图(并执行一些初始化),使 initialize 方法保持未使用? (我不想打扰用户调用FrameView.prototype.initialize 方法来使事情正常进行)
这是我的尝试(但存在上述问题):
var FrameView = Marionette.LayoutView.extend({
initialize: function() {
if(!this.title) this.title = null;
},
setTitle: function(title) {
this.title = title;
this.trigger("change:title", title);
}
})
理想情况下,FrameView 将LayoutView 与Backbone.Model 结合使用(所以我会理所当然地使用setTitle 之类的方法,尽管语法略有不同)。视图的Backbone.Model 部分将保留标题、图标等内容。
我还在学习 Backbone.js 和 Marionette,所以我的思维方式可能很奇怪。对于您的回答以及如何实现我的目标的任何建议,我将不胜感激。
【问题讨论】: