3

現在、いくつかのアプリでこれに遭遇したので、バックボーンの履歴に何か問題があるのではないかと思います. これが状況です...

私は2つのページを持っています。

index.html
app.html

インデックス ページは、 へのリンクを含む通常のフラットな HTML ページapp.htmlです。アプリ ページで、アプリ ページBackbone.history.start()の 2 つのビューを切り替えるために使用されるハッシュ状態管理を起動するために呼び出されます。

app.html#search
app.html#results

#searchそのため、と#resultsページの間を行き来するのはうまく機能します。問題ありません。この問題は、戻るボタンを使用して に戻ろうとすると発生しますindex.html。インデックス ページに戻るパスには、app.html(ハッシュ状態なし) での停止が含まれます。ここで、バックボーン ルーターは不足しているハッシュ状態を忠実に埋めて、 に戻しますapp.html#search。再び、戻るボタンをクリックすると に移動しapp.html、欠落しているハッシュ状態が再び埋められます...基本的に、ループに陥ってページから戻ることはできません。プッシュ状態を使用すると、これと同じ動作が発生します。

これは、デフォルトのページ URL の上に独自のルーティング システムを自動的に起動するアプリでよくある問題のようです。これを回避する良い方法を知っている人はいますか?

4

1 に答える 1

2

問題は、app.htmlそれ自体で何もしていないことです。そのため、ナビゲートするとアプリが何らかの形で壊れる可能性があります。

この場合、ルート ルートを別のルートにリダイレクトする代わりに、それをデフォルト ページとして使用することができます。

routes: {
  "": "search",
  "results": "results"
}
于 2013-03-06T14:53:40.163 に答える