私はbackbonejsを使用して小さなウィザードを作成しようとしています。このウィザードでは、特定の質問への回答によって、ウィザードを通過するパスが決まります。バックボーンjsにモデルの現在の状態を評価し、それに応じて次のページに移動する方法はありますか?または、backbonejsのような方法でこれを最もよく達成する別の方法はありますか?
2 に答える
0
それぞれの答えを異なるルートとして扱うのが最善の方法だと思います。そうすれば、ユーザーが回答を選択すると、ルートが変更され、ルーターでそれに応じてビューをロード/変更できます。次のようなルートで変数を使用するようにしてください
routes: {
":question/:answer": "checkAnswer"
}
質問と回答が変数である場合
お役に立てれば
于 2012-12-07T09:34:24.940 に答える
0
モデルの「change」または「change:[attribute]」イベントにルーターをサブスクライブさせ、それに応じてルートとページを変更できます。
または、新しいページに移動したいときはいつでも、ルーターのナビゲート機能を呼び出します
router.navigate("question1/option1", {trigger: true});
これにより、URL が変更され、「question1/option1」に設定したルートもトリガーされます
したがって、ルーターが次の場合:
router = Backbone.Router.extend({
routes: {
"question1/option1": "answer1"
},
answer1: function() {
//change the page / or take whatever other action you want.
}
次のページをセットアップするために answer1 関数が呼び出されます。
于 2012-12-07T09:45:26.267 に答える