通过backbone.js中的视图进行路由时传递参数

时间:2013-11-27 18:05:28

标签: javascript backbone.js

我想在Backbone.js应用程序中路由时传递参数

这是成绩单

var AppRouter = Backbone.Router.extend({
  routes: {  
    'toolSettings/(:action)' : 'toolSettings'
  }
});

var initialize = function() {       
  var app_router = new AppRouter;       
  app_router.on('route:toolSettings', function(actions) {                   
    toolSettingsRoute.route();
  });
  Backbone.history.start();    
};

在用户界面上我有一个<a href="toolSettings/target" />链接,可以调用toolSettingsRoute.route()

我希望在路由方法中传递此action参数,并且我已将其传递给进一步的程序。

我尝试toolSettingsRoute.route(action)并且没有给出任何错误,但我如何在toolSettingsRoute.js文件中使用此参数

我想知道如何正确传递参数并在后续的js中使用它们

2 个答案:

答案 0 :(得分:0)

一个选项是在路由器中定义路由功能,您只需将参数传递给该功能:

var AppRouter = Backbone.Router.extend({
    routes: {
        'toolSettings/(:action)': 'toolSettings'
    },
    toolSettings: function (action) {
        // whatever
    }
});

答案 1 :(得分:0)

E X A M P L E

http://jsfiddle.net/mreis1/Nt9tm/1/

 var AppRouter = Backbone.Router.extend({
        routes: {  
            'toolSettings/:action' : 'toolSettings'                      
        },
        toolSettings:function (action){
          //do whatever you want to do with the action parameter
        }
    });