1

複数のビュー、コレクションなどを備えたバックボーン アプリケーションを開発しています。また、パーマネント URL を適切に処理するルーターも備えています。

私が達成しようとしているのは、window.history(-1)ユーザーが利用可能なときに前のビューに戻ることができる「戻る」ボタンを作成することです (ユーザーは以前にそのビューから来ました)。そうでない場合は、「戻る」ボタンでホームページに移動します。

基本的に、Backbone がその履歴に何かを保存しているかどうかを確認する必要があります。これを使用して、1 つのステップをロールバックできます。履歴が空の場合 (この URL に直接移動した場合)、メイン ルーターに戻ります。

すでに使用してみwindow.hisory.lengthましたが、空になることはありません。ブラウザの開始ホームページまたはブラウザの空白の開始ページを指している可能性があります。

Backbone.History は通過する URL (ハッシュ) を追跡しますか? もしそうなら - 私はそれにアクセスする方法。Backbone.History のコンソール ログを既に試しましたが、保持できるものは何も見つかりませんでした。

ヘルプ/アドバイスをいただければ幸いです。

4

1 に答える 1

0

次のことができます。

ルーター初期化機能 -

this.on("all", this.storeRoute);
this.history = [];

次に、storeRoute 関数 (ルーターにも) -

storeRoute: function() {
    return this.history.push(Backbone.history.fragment);
}

ルーターにも -

previous: function(){
    if (this.history.length > 1) {
      return this.navigate(this.history[this.history.length - 2], true);
    }
}

だから、yourApp.router.previous()いつでも電話をかけることができます!

于 2013-10-23T08:39:53.077 に答える