2

現在、バックボーン アプリ用に複数のルーターを定義しています (まだマリオネットではありません)。

authRouter = new AuthRouter()
usersRouter = new UsersRouter()
...

# then to use them
authRouter.navigate "auth/login"
usersRouter.navigate "users/changePassword"

ご覧のとおり、変数を使用してナビゲートしています。したがって、どのルーターを呼び出すかを知る必要があります。どういうわけかコードを別々のクラスに整理することは可能ですが、ナビゲートしたいときappRouter.navigate "something"は、それがどのルーターであるかを知る必要はなく、呼び出すだけですか? マリオネットは大きなルーターを持たないことを推奨していますが、推奨される方法/例はありません

4

1 に答える 1

9

Backbone の注釈付きソース コードを見ると、呼び出しmyRouter.navigateが転送メソッドの呼び出しにすぎないことがわかります。Backbone.history.navigate

http://backbonejs.org/docs/backbone.html#section-114

したがって、navigate メソッドでルーターを追跡する必要はありません。Backbone.history.navigate を直接呼び出すことができます。

Backbone.history.navigate "auth/login"

于 2012-07-01T17:09:27.133 に答える