我正在寻找一种方法来消除重新布局布局的需要,如果它的实例已经在使用中。索引下方创建一个新的PreactivationLayout,然后将其绑定到app对象的主区域。然后,如果您要访问page2,我想检查PreactivationLayout是否正在使用;如果是这样,只需交换区域,如果没有创建新实例并将其添加到app对象。
class IndexController extends Marionette.Controller
initialize: (options)->
@app = options.app
index: ->
layout = new PreactivationLayout()
@app.main.show layout
layout.main.show new IndexView()
page2: ->
// Is the current layout an instace of the Preactivation class?
答案 0 :(得分:3)
你可以这样做,这将检查当前区域内的视图是否具有相同的构造函数。
if(!layout.main.currentView || layout.main.currentView.constructor !== PreactivationLayout){
layout.main.show(new PreactivationLayout());
}
或正如Tan Nguyen在评论中所说,
if(!layout.main.currentView || !(layout.main.currentView instanceof PreactivationLayout)){
layout.main.show(new PreactivationLayout());
}