木偶:检查布局是否有另一个对象的实例

时间:2014-01-27 23:35:13

标签: javascript jquery underscore.js marionette

我正在寻找一种方法来消除重新布局布局的需要,如果它的实例已经在使用中。索引下方创建一个新的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?

1 个答案:

答案 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());
}