2

すべてのルートに表示されるナビゲーションであるバックボーン ビューが必要です。これを行う最良の方法は何ですか?

理想的には、指定されたすべてのルートに一致し、次のようなナビゲーションを作成する「ホーム」機能を起動するルートが必要です。

routes: {
        "*" : "home",
        "addnames" : "addNames"

    },
4

1 に答える 1

1

Deeptechtons のコメントは 100% 正しいですが、誰かが自分のルートで何らかの一般的なロジックをトリガーしたり、一般的なオブジェクト (ツールバーなど) にアクセスしたりしたい場合がたくさんあります。

ルートは、ヒットしたときに「ルート」イベントをトリガーするため、ロジックをトリガーするだけでよい場合は、次の簡単な方法があります。

router.on('route', functionThatDoesWhateverYouWantToDoOnEveryRoute);

ビュー自体が共通のオブジェクトにアクセスできるようにする必要がある場合は、すべてのルート ビューをベース RouteView から拡張する (そしてそこにオブジェクトを配置する) ことをお勧めします。本格的なものにしたい場合 (しかし、おそらくこれは間違ったアプローチです)、コア バックボーン ルーター メソッドの 1 つをオーバーライドし、次を使用してその内部から元のバージョンを呼び出すこともできます。

Backbone.Router.prototype.methodName.apply(this, arguments);

それが役立つことを願っています。

于 2012-10-27T01:11:11.180 に答える