如何使用Backbone Controller提供页面

时间:2011-05-31 08:43:10

标签: backbone.js

Backbone以下列方式在其Controller中定义路由。这是否意味着网站的每个页面都必须有一份副本?或者,当用户到达第一页以使其工作时,必须加载每个脚本?

var Workspace = Backbone.Controller.extend({

  routes: {
    "help":                 "help",    // #help
    "search/:query":        "search",  // #search/kiwis
    "search/:query/p:page": "search"   // #search/kiwis/p7
  },
  help: function() {
    ...
  },
  search: function(query, page) {
    ...
  }
});

1 个答案:

答案 0 :(得分:4)

这是一个hashbang路由器,那些不是真正的页面。网址看起来像:

  • 的mysite /#!帮助
  • 的mysite /#!搜索/猕猴桃
  • 等。

它用于路由单页网页应用。因此,您只需提供一个页面,然后通过从JSON Web服务获取数据来呈现其他页面。

Backbone.js允许您路由到页面内客户端上的子页面。这意味着您可以将URL更改为可书籍标记状态,并且当您重新加载页面时,主干将重新加载页面的“部分”。

此路由应仅在页面内使用,不应跨越多个页面。

你应该使用你的服务器端MVC框架。

  • CodeIgniter for PHP
  • Express for node.js
  • Ruby / Groovy的Rails
  • MVC for ASP.NET
  • Django for Python