0

私はいくつかのステップを含む登録プロセスのようなものを書いています。それを単一ページのようなシステムにしたいので、Backbone.js を勉強した後、私の選択です。

ユーザーが現在のステップを完了するたびに、私が作成した [次へ] ボタンをクリックし、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 に答える