Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Backbone.js 主干木偶,渲染区域(如果尚未渲染)_Backbone.js_Marionette - Fatal编程技术网

Backbone.js 主干木偶,渲染区域(如果尚未渲染)

Backbone.js 主干木偶,渲染区域(如果尚未渲染),backbone.js,marionette,Backbone.js,Marionette,因此,我只想在侧菜单项视图尚未渲染时渲染它。这太不恰当了,我不会强制不恰当地重新渲染 我已经找到了一个解决方案,可以在尚未在某个区域中渲染的情况下渲染视图 以路由器调用的控制器对象为例: Admin.showIndex= function(){ if (!MyApp.layout.sidepanel.currentView || !(MyApp.layout.sidepanel.currentView instanceof AdminSidePanel)){ MyApp.

因此,我只想在侧菜单项视图尚未渲染时渲染它。这太不恰当了,我不会强制不恰当地重新渲染

我已经找到了一个解决方案,可以在尚未在某个区域中渲染的情况下渲染视图

以路由器调用的控制器对象为例:

Admin.showIndex= function(){
    if (!MyApp.layout.sidepanel.currentView || !(MyApp.layout.sidepanel.currentView instanceof AdminSidePanel)){
        MyApp.layout.sidepanel.show(new AdminSidePanel());
    }else{
        alert("Already rendered sidepanel!");
    }
    // More stuff!
}
这是一个好方法吗?它的工作原理如下:

  • 如果我F5刷新页面/#admin,则会呈现侧面板
  • 如果我进入example/#admin/子菜单并返回到#admin,侧面板不会再次呈现

    • 在我看来不错。我在我的项目中使用了类似的逻辑

      与在
      MyApp
      中显式维护全局状态变量相比,我更喜欢这种方法