木偶应用2路导航与历史api

时间:2016-01-05 15:00:44

标签: javascript node.js backbone.js routing marionette

我有node.js服务器应用程序(其余API服务)。 我还在客户端有Backbone + Marionette(用于我的服务器端RESTful应用程序)多页面应用程序。 我目前使用Marionette导航,这对于像domain.com/#feedbacks这样的链接非常有用(页面在客户端使用ajax数据进行渲染)。但我也想添加服务器端导航,例如domain.com/feedbacks(适用于谷歌和其他搜索引擎)。

问题是:如何匹配服务器端和客户端导航?

Mb我应该尝试为页面上的所有链接添加事件处理程序,这将执行类似Backbone.history.navigate("/feedbacks")的操作?但是我有很多不同的哈希链接(#feedbacks)...... Mb有一个更优雅的解决方案吗?谢谢。

我现在的牵线木偶路由器:

var AppRouter = Backbone.Blazer.Router.extend({
    routes: {
      '': new HomeRoute(),
      'sell': new SellRoute(),
      'login': new LoginRoute(),
      'feedbacks': new FeedbacksRouter(),
      'product/:id': new ProductRoute(),
      'profile/:id': new UserRoute()
    }
  })

1 个答案:

答案 0 :(得分:0)

我只需要使用:

Backbone.history.start({pushState: true})

而不是:

Backbone.history.start();

它使骨干路由在没有符号

的情况下工作