2012-03-29 5 views
4

私は、Backboneのrouter.navigateを呼び出して、History APIをサポートしているブラウザでさえ、ハッシュフラグメントのみを更新したいと思います。これは可能ですか?例えばbackbone.js - router.navigateを呼び出しますが、ハッシュのみを更新しますか?

、私が呼び出し持っていると言う:私はこれも歴史のAPIをサポートして行い、/page/14にナビゲートする、理論的に可能なブラウザで#page/14に行きたい

router.navigate("page/" + pageNumber); 

を。

これを呼び出すように設定できるオプションはありますか?代わりに、私はちょうどlocation.hashを手動で更新することができると思いますが、可能であれば、私はバックボーンを通して何かをすることを好むでしょう。

ありがとうございます!

答えて

3

これであなたのBackbone.History.startを()の交換:

Backbone.History.start({pushState : false}); 

はハッシュを使用してバックボーンアプリケーションを行います。しかし、この作業をするには、あなたのリンクのすべてのhrefに "/#/ page/14"を追加する必要があります!

+0

ありがとうございます - これはアプリケーション全体の設定にする必要があるため、個々のイベントに対してupdate-hash-onlyプリファレンスを設定することはできません。 – Richard

+0

このモードでは、触媒は "/#/"をルーティングに使用します。他の "/ page/1234 /"を渡すと(最初は#を付けずに)ブラウザに直接渡され、新しい要求としてページが読み込まれます。ルーターに何かをルーティングする場合は、これを使用して、その前に "#"を使用する必要があります。 – drinchev

関連する問題