Backbonejs向导的条件路由

时间:2012-12-07 05:38:07

标签: javascript backbone.js wizard

我正在尝试使用backbonejs创建一个小向导,其中某些问题的答案决定了通过向导获取的路径。是否有一种方法可以在backbonejs中评估模型的当前状态并相应地导航到下一页?或者还有另一种方法可以通过一种方式实现这一目标吗?

2 个答案:

答案 0 :(得分:0)

我认为最好的方法是将每个答案视为不同的路线。这样,当用户选择答案时,路线会发生变化,您可以在路由器中相应地加载/更改视图。一定要在

等路线中使用变量
routes: {
        ":question/:answer": "checkAnswer"
    }

问题和答案是变量

希望这有帮助

答案 1 :(得分:0)

您可以让路由器订阅模型的“更改”或“更改:[属性]”事件,然后相应地更改路径和页面

或者,只要您想转到新页面,就可以调用路由器的导航功能

router.navigate("question1/option1", {trigger: true});

这将更改网址并触发您为“question1 / option1”

设置的路线

所以,如果您的路由器是:

router = Backbone.Router.extend({
    routes:  {
       "question1/option1": "answer1"
    },
    answer1: function() {
        //change the page / or take whatever other action you want.
    }

将调用answer1函数来设置下一页。