导航离开然后返回后恢复骨干状态

时间:2013-10-11 03:37:56

标签: backbone.js marionette

我有一个Backbone Marionette应用程序,允许用户使用各种标准进行搜索。从搜索结果中,他们可以点击链接,将其从骨干应用程序导航到标准静态页面。

如何进行设置,以便当他们在浏览器中单击时,骨干搜索页面将恢复到之前的状态(搜索条件和结果完好无损)?

由于

1 个答案:

答案 0 :(得分:0)

您可以将脊椎路由器用于搜索页面并将状态保存在location.hash中,这样所有填充/渲染都将由路由器或视图管理,这些路由器或视图将监听路由器事件:

  

“route:[name]”(params) - 在匹配特定路由时由路由器触发。

     

“route”(route,params) - 路由器在匹配任何路由时触发。

例如#search / query / nuggets将触发此路线:

'search/query/:query-string': function(query) {
    yourCollection.fetch({data: {query: query}})
}

并在您的视图中

initialize: function() {
   this.listenTo(yourCollection, 'sync', this.render)
}

然后用户点击/或在搜索字段中按Enter键,您应该触发路线更改:yourRouter.navigate("search/query/"+yourQuery, {trigger: true})