如何使用Meteor创建动态URL?

时间:2012-07-25 18:12:59

标签: backbone.js routing meteor backbone-routing

我是网络开发人员的新手,并被Meteor网站上的演示所震撼,并希望使用它。到目前为止我只使用了Google App Engine并在主类中处理动态URL我会写这样的:

app = webapp2.WSGIApplication([('/[0-9]', HandlePost)], debug=True)

这会将最后带有数字0到9的任何URL映射到一个处理程序类,该处理程序类将使用模板引擎(如把手)为页面加载适当的数据。

我如何在Meteor中做类似的事情?

2 个答案:

答案 0 :(得分:5)

使用骨干网路由器,请参阅: http://backbonejs.org/#Router-routes
对于像你的例子的正则表达式,请参阅: http://blog.rjzaworski.com/2011/12/regex-routing-with-backbone-js/
试试meteor上的todo示例,请参阅client/todo.js文件:

////////// Tracking selected list in URL //////////

var TodosRouter = Backbone.Router.extend({
  routes: {
    "todo_list/:list_id": "main"
  },
  main: function (list_id) {
    Session.set("list_id", list_id);
    Session.set("tag_filter", null);
  },
  setList: function (list_id) {
    this.navigate("todo_list/"+list_id, true);
  }
});

Router = new TodosRouter;

Meteor.startup(function () {
  Backbone.history.start({pushState: true});
});

答案 1 :(得分:3)

使用Backbone路由器的另一种方法是Meteor Router。我不能保证它,只是我自己发现它,但它看起来相当全功能。