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_Backbone Views_Backbone Routing - Fatal编程技术网

带有嵌套选项卡的Backbone.js视图

带有嵌套选项卡的Backbone.js视图,backbone.js,backbone-views,backbone-routing,Backbone.js,Backbone Views,Backbone Routing,我编写了一个由嵌套选项卡组成的应用程序。我举了一个例子。我也使用RequireJS 我至少有两级嵌套选项卡。其中一些具有类似的结构,我可以重用它们的视图 例如,我有一个名为“Articles”的选项卡,其中包含选项卡:“New”、“Changed”、“Deleted”(实际上,选项卡的数量要多得多)。我有以下几条路线: /articles /articles/new /articles/changed/ /articles/deleted 这些路由映射到名为“showPanel”的方法,该方法

我编写了一个由嵌套选项卡组成的应用程序。我举了一个例子。我也使用RequireJS

我至少有两级嵌套选项卡。其中一些具有类似的结构,我可以重用它们的视图

例如,我有一个名为“Articles”的选项卡,其中包含选项卡:“New”、“Changed”、“Deleted”(实际上,选项卡的数量要多得多)。我有以下几条路线:

/articles
/articles/new
/articles/changed/
/articles/deleted
这些路由映射到名为“showPanel”的方法,该方法接受两个参数:panel和subPanel。使用这些参数,我想显示所需的面板

是否有任何模式可用于解决此问题或任何其他示例?谢谢

看看,希望能帮到你:)

显示面板方法是一种通用方法,显示面板和子面板:

function showPanel(panel, subPanel){
  $('#panels').children().hide().filter(panel).show().children().hide().filter(subPanel).show();
}
路由配置:

var Router = Backbone.Router.extend({
  routes: {
    'articles': 'articlesPanel',
    'articles/:subPanel': 'articlesSubPanel'
  },
  articlesPanel: function(){
    showPanel('#articles', '');
  },
  articlesSubPanel: function(subPanel){
    showPanel('#articles', '#'+subPanel);
  }

});
看,希望能帮到你:)

显示面板方法是一种通用方法,显示面板和子面板:

function showPanel(panel, subPanel){
  $('#panels').children().hide().filter(panel).show().children().hide().filter(subPanel).show();
}
路由配置:

var Router = Backbone.Router.extend({
  routes: {
    'articles': 'articlesPanel',
    'articles/:subPanel': 'articlesSubPanel'
  },
  articlesPanel: function(){
    showPanel('#articles', '');
  },
  articlesSubPanel: function(subPanel){
    showPanel('#articles', '#'+subPanel);
  }

});

请提供答案,而不仅仅是链接。谢谢你的回答。看起来很有趣,但我想这并不是我想要的。我需要创建视图,而不仅仅是显示/隐藏现有视图。请提供答案,而不仅仅是链接。谢谢回答。看起来很有趣,但我想这并不是我想要的。我需要创建视图,而不仅仅是显示/隐藏现有视图。