0

我有一个非常基本的路由器来让事情顺利进行,但我无法加载 Backbone.history.start() 来开始处理路由。jquery、下划线和主干已加载。这是我的基本路由器:

var AppRouter = Backbone.Router.extend({
    routes: {
        "*query": "defaultRoute"
    },

        initialize: function() {
            Backbone.history.start();
        },

        defaultRoute: function(query) {
            console.log(query);
        }
    });

var app_router = new AppRouter;

我得到的错误是:

Uncaught TypeError: Object [object Object] has no method 'on' 

位于我的主干库文件中。提前致谢

4

2 回答 2

0

只是一个猜测,你能把Backbone.history.start();代码移到路由器创建之外吗?基本上在你完全引导你的应用程序之后把它放在,像这样:

$(function(){
  new AppRouter();
  Backbone.history.start();
});
于 2013-05-01T11:16:09.653 回答
0

迟到了,但问题可能出在当前视图的“事件”属性中,它应该包含一个具有接口事件映射的对象:http: //backbonejs.org/#View

于 2013-06-21T17:53:25.880 回答