Marionette应用程序具有历史api的双向导航

Marionette app 2 way navigation with history api

本文关键字:导航 api 历史 应用程序 Marionette      更新时间:2023-09-26

我有node.js服务器应用程序(其余API服务)。我在客户端也有Backbone+Marionette(用于我的服务器端RESTful应用程序)多页应用程序。我目前有Marionette导航,它与domain.com/#feedbacks等链接配合得很好(页面在客户端用ajax数据呈现)。但我也想添加服务器端导航,例如domain.com/feedbacks(用于谷歌和其他seach引擎)。

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

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()
    }
  })

我只需要使用:

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

而不是:

Backbone.history.start();

它使主干路由在没有#符号

的情况下工作