Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Backbone.js路由器回调在除1个特定URL段以外的所有URL段上启动_Javascript_Backbone.js_Url Routing_Pushstate - Fatal编程技术网

Javascript Backbone.js路由器回调在除1个特定URL段以外的所有URL段上启动

Javascript Backbone.js路由器回调在除1个特定URL段以外的所有URL段上启动,javascript,backbone.js,url-routing,pushstate,Javascript,Backbone.js,Url Routing,Pushstate,我正在创建第一个使用Backbonejs路由器的应用程序 我很好奇,是否有可能定义一个路由,除了一个url段之外,它将为每个url段触发 在我的例子中,如果url是http://www.example.com/login,但我确实希望它为 等等 我的路由器如下所示: var SuiteRouter = Backbone.Router.extend({ // ################################ Defined Routes ############

我正在创建第一个使用Backbonejs路由器的应用程序

我很好奇,是否有可能定义一个路由,除了一个url段之外,它将为每个url段触发

在我的例子中,如果url是
http://www.example.com/login
,但我确实希望它为

  • 等等
我的路由器如下所示:

var SuiteRouter = Backbone.Router.extend({
    // ################################ Defined Routes ################################
    routes: {
        "":      "landing",     //Suite primary page, initiates menus and other suite-wide items, initiated everywhere except login
        "login": "login"
    },

    // ########################### Route Callbacks ################################
    landing: function() {
        console.log(arguments);
        console.log('landing');
    },
    login: function() {
        console.log(arguments); //<--- nothing useful, empty array
        console.log('login');
    }
});
var SuiteRouter=Backbone.Router.extend({
//确定路线################################
路线:{
“”:“:”landing“,//套件主页,启动菜单和其他套件范围的项目,在除登录之外的任何地方启动
“登录”:“登录”
},
//路径回调################################
登陆:函数(){
log(参数);
控制台日志(“着陆”);
},
登录:函数(){
console.log(参数);//可以

var SuiteRouter = Backbone.Router.extend({
    // ################################ Defined Routes ################################
    routes: {
        "":      "landing",     //Suite primary page, initiates menus and other suite-wide items, initiated everywhere except login
        "login": "login"
    },

    // ########################### Route Callbacks ################################
    landing: function() {
        console.log(arguments);
        console.log('landing');
    },
    login: function() {
        console.log(arguments); //<--- nothing useful, empty array
        console.log('login');
    }
});

var router = new Router();
router.on("route", function(route, params) {
console.log(route); //will be called every route change in addition to the appropriate other callbacks.
if(route!=="login") {
//do something
}
});
var SuiteRouter=Backbone.Router.extend({
//确定路线################################
路线:{
“”:“:”landing“,//套件主页,启动菜单和其他套件范围的项目,在除登录之外的任何地方启动
“登录”:“登录”
},
//路径回调################################
登陆:函数(){
log(参数);
控制台日志(“着陆”);
},
登录:函数(){

console.log(arguments);//你看过了吗?你没试过吗?
路由:{“login”:“login”,“*”:“landing”}
它的区别在于,路由是根据匹配的优先级调用的。在这里,如果我们提供*作为第一根,则无论登录名、foo、bar如何,所有路由都将调用它。但是我们确实希望
登录名
对吗?因此,我们通过将登录路由向上推到定义阶梯来赋予其优先级。现在它可以工作:)去享受热切的巧克力吧