0

我正在尝试使用backbonejs 创建一个小向导,其中某些问题的答案决定了通过向导的路径。在backbonejs中有没有办法评估模型的当前状态并相应地导航到下一页?或者是否有另一种以骨干网方式实现最佳效果的方法?

4

2 回答 2

0

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

或者当你想去一个新页面时调用路由器的导航功能

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 回答
0

我认为最好的方法是将每个答案视为不同的路线。这样,当用户选择答案时,路线就会改变,您可以在路由器中相应地加载/更改视图。请务必在路线中使用变量,例如

routes: {
        ":question/:answer": "checkAnswer"
    }

问题和答案是变量

希望这可以帮助

于 2012-12-07T09:34:24.940 回答