0

我正在使用触发器和主干,并尝试以编程方式导航到一个 url。这一切都是使用 file:// 协议发生的,因为一切都只在触发器 io 中运行。

虽然此手动导航不会触发与路线关联的功能。

我的路由器看起来像这样

var BARouter = Backbone.Router.extend({
    routes: {
        "users/sign_in": "userSignin",
        "users/sign_up": "userSignup",
        "": "catchAll"
    },

    userSignin: function(){

    },
    userSignup: function(){
        forge.logging.info("in user signup----");
    },
    catchAll: function(){

    }
});


var app_router = new BARouter();
BA.router = app_router;
Backbone.history.start({pushState: true});

我正在手动导航

BA.router.navigate(navigate_to("users/sign_up"), {trigger:true});

navigate_to 方法只是以“file://users/sign_up”的形式返回完整的 url。

但是控制台没有记录任何内容,并且执行正常进行。我在这里错过了什么吗?

4

1 回答 1

2

将 pushState 与文件 url 一起使用可能没有意义,我也不确定为什么需要 navigate_to 函数。

尝试将 pushState 设置为 false 并使用路线的字符串进行导航,即:

BA.router.navigate("users/sign_up", {trigger:true});
于 2012-11-19T09:12:17.830 回答