0

私はbackbonejsを使用して小さなウィザードを作成しようとしています。このウィザードでは、特定の質問への回答によって、ウィザードを通過するパスが決まります。バックボーンjsにモデルの現在の状態を評価し、それに応じて次のページに移動する方法はありますか?または、backbonejsのような方法でこれを最もよく達成する別の方法はありますか?

4

2 に答える 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 に答える