我已经建立了一个项目,我在其中扩展了一个Backbone.Marionette.Layout
包含两个不同区域的项目。此布局可用作整个应用程序的组件。具体而言,区域设置如下。
regions : {
masterRegion : { selector: '[data-region=master]' },
slaveRegion: { selector: '[data-region=slave]' }
},
特别是,我使用data-region
选择器来注入我感兴趣的视图。
当在树结构中使用这样的布局时,视图会被复制,因为getEl
函数地址错误的区域来注入视图。显然这是我的错,在Marionette
(v1.1.0)文档中写了以下内容。
如果我们有一个 parentEl ,则覆盖 getEl 函数,这必须被覆盖以确保在第一次使用该区域时找到选择器。如果我们尝试将区域的 el 分配给对象字面量中的 parentEl.find(selector) 来构建区域,则无法保证该元素已经在 DOM 中,并且会导致问题
其中getEl
定义为
getEl: function(selector){
return Marionette.$(selector);
}
所以,我的问题如下。这是什么意思?我怎样才能覆盖这个方法?执行这种覆盖的正确方法在哪里?
希望很清楚。