9

我计划将主干 + 要求用于具有 30 多个模块的应用程序。我打算创建类似这样的东西,而不是为每个模块创建单独的路线。

不确定这是最佳实践。请指导。

routes: {
  ":module"                   : "routeLevelOne",
  ":module/:id"               : "routeLevelTwo",
},

routeLevelOne: function(module){
    require(['views/' + module + 'View',],
        function(){
          require('views/' + module + 'View').render();  
       }
    );
},

routeLevelTwo: function(module, id){
    require(['views/' + module + 'View',],
        function(){
          require('views/' + module + 'View').renderWithId(id);  
       }
    );
},
4

2 回答 2

6

我写了一篇关于这个主题的博客文章。单路由器方法可能会工作一段时间,但您担心将来会出现可扩展性问题是对的。

正如上面提到的@shacki,请查看我的Backbone.Subroute插件以使其更具可扩展性,并将子路由的负担转移给开发这些模块的开发人员。

于 2012-08-28T16:40:32.693 回答
1

从我的角度来看,这完全没有问题,并且是最佳实践。它使您的代码保持简洁和干净,并且很容易理解应该发生的事情。

对我来说唯一的替代选择是subroutes。但是由于您的“调度”逻辑在所有模块中似乎都是相同的,因此可能不需要。

于 2012-08-28T06:42:26.980 回答