0

我正在编写一个包含几个步骤的注册过程,我想让它成为一个类似单页的系统,所以在学习了 Backbone.js 之后是我的选择。

每次用户完成当前步骤时,他们将单击我创建的 NEXT 按钮,然后我使用 router.navigate 方法更新 url,以及加载下一页的内容并使用 javascript 进行一些花哨的转换。

结果是,URL 更新,页面不刷新,用户体验流畅。但是,当用户单击浏览器的后退按钮时,URL 会更新为上一步的 URL,但内容保持不变。我的问题是通过什么方式我可以捕获这样的事件并当前加载上一步的内容并将其呈现给用户?或者更好的是,我可以依靠浏览器缓存来加载之前加载的页面吗?

编辑:特别是,我正在尝试类似本文中提到的内容。

4

1 回答 1

1

您不应该使用 route.navigate 而是让路由器根据当前路由决定显示哪种形式。

例子:

您当前注册过程中的链接:

<a href="#form/2" ... 

在路由器定义中:

routes:{
  "form/:formNumber" : "gotoForm"
},

gotoForm:function(formNumber){
 // the code to display the correct form for the current url based on formNumber
}

然后用于Backbone.history.start()引导路由

于 2012-12-09T21:56:29.273 回答