1

我是新手backbone.js,这是我的 router.js :

define([
  'jquery',
  'underscore',
  'backbone'
], function($, _, Backbone ) {

    var AppRouter = Backbone.Router.extend({
      routes: {
        '*test': 'defaultAction'
      }
    });


    var initialize = function(){
      var app_router = new AppRouter;

      app_router.on('route:defaultAction', function (test) {
       //alert(2);
      });

      Backbone.history.start();
    };

    return { 
      initialize: initialize
    };
});

当我运行我的 index.html 时,然后在我的控制台浏览器中显示TypeError: app_router.on is not a function.

谁能告诉我如何解决它?

4

1 回答 1

3

也许你不应该on在函数内部调用,而是直接调用它

var AppRouter = Backbone.Router.extend({
  routes: {
   '*test': 'defaultAction'
   }
});

var app_router = new AppRouter;

app_router.on('route:defaultAction', function (test) {
 //alert(2);
});

并删除这个

return { 
 initialize: initialize
};
于 2013-07-23T05:56:15.310 回答