使用backbone.js中的状态机处理URL和路由

时间:2013-03-23 00:33:30

标签: backbone.js

想知道以下场景是否有任何模式。它看起来像是某种类型的状态机:

  • 两个系列(让我们说汽车和小鸟,只是这样做)
  • 您可以深入查看任一集合并查看详细信息视图
  • 每个集合都有一个与之相关的视图,还有每个
  • 的详细视图
  • 想要防止在router.on方法中重复代码并保持干燥(可能只是一种方法,然后查看汽车的状态并执行某些操作,对于鸟类也是如此?)

:汽车 - 鸟类 网址:#

:汽车细节 - 鸟类 url :#/ cars / 1

:汽车细节 - 鸟类细节
网址:#/ cars / 1 / birds / 1

:汽车 - 鸟类详情
网址:#birds / 1

2 个答案:

答案 0 :(得分:1)

var Router = Backbone.Router.extend({
routes: {
    '*variables': 'drawViews'
},

parse: function(variables) {
    values = variables.split("/");
    return values;
},

drawViews: function(variables) {
    values = this.parse(variables);
//and here you check the first value and see it its car or bird then you get      
//next value of the array wich will be the index and so on. 
}

});

答案 1 :(得分:1)

关于这个主题here,有一个很好的迷你教程。也是来自Backbone网站的state machine mixin,但似乎并不特定针对路由器