Marionette 具有历史记录的应用 2 向导航 api
Marionette app 2 way navigation with history api
我有 node.js 服务器应用程序(其余 API 服务)。
我在客户端也有 Backbone + Marionette(对于我的服务器端 RESTful 应用程序)多页面应用程序。
我目前有 Marionette 导航,它与 domain.com/#feedbacks (pages are render on client side with ajax data). But I also want to add serverside navigation e.g. domain.com/feedbacks 这样的链接(对于 google 和其他搜索引擎)工作得很好。
问题是:如何匹配服务器端和客户端导航?
Mb 我应该尝试为页面上的所有链接添加事件处理程序,这将执行类似 Backbone.history.navigate("/feedbacks")
的操作?但是我有很多不同的哈希链接(#feedbacks)... Mb 有更优雅的解决方案吗?谢谢。
我当前的 marionette 路由器:
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();
它使 backbone 路由在没有 # 符号的情况下工作
我有 node.js 服务器应用程序(其余 API 服务)。 我在客户端也有 Backbone + Marionette(对于我的服务器端 RESTful 应用程序)多页面应用程序。 我目前有 Marionette 导航,它与 domain.com/#feedbacks (pages are render on client side with ajax data). But I also want to add serverside navigation e.g. domain.com/feedbacks 这样的链接(对于 google 和其他搜索引擎)工作得很好。
问题是:如何匹配服务器端和客户端导航?
Mb 我应该尝试为页面上的所有链接添加事件处理程序,这将执行类似 Backbone.history.navigate("/feedbacks")
的操作?但是我有很多不同的哈希链接(#feedbacks)... Mb 有更优雅的解决方案吗?谢谢。
我当前的 marionette 路由器:
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();
它使 backbone 路由在没有 # 符号的情况下工作