1

我试图从骨干开始历史,但是我得到了错误:

无法调用未定义的方法“开始”

这是完整代码的链接:http: //pastebin.com/pNsYghgE

我在这段代码之前包含了 jquery、下划线和主干 js,所以我想这应该根据文档工作。我正在使用主干 0.9.2。我在这里拧干什么呢?

编辑:答案

我不想创建我的路由器实例,所以我在调用 Backbone.history.start() 之前添加了这段代码:

//initialize all routes
_(this.modules()).each(function(module, moduleName)
{
    _(module.routers).each(function(router, routerName)
    {
        new router();
    });
});
4

3 回答 3

3

Backbone.history只能在使用路由定义一个或多个路由器后启动:

http://backbonejs.org/docs/backbone.html#section-113

您可以在这里看到,Backbone.history对象是在定义路由时创建的。我没有看到发布的代码中定义了任何路由器或路由,所以我猜这就是问题所在。

于 2012-04-18T11:04:47.210 回答
1

执行该行时,骨干仍未加载..

使用

$(function() {
  // ...
});

对于这部分代码,就像您对其他块所做的那样。

于 2012-04-18T11:22:33.987 回答
0

它接缝很好,您能否提供更多代码,以及您加载 jquery、undescore 和主干的 html 部分。

之前检查主干对象:Backbone.history.start(this.options.historyOptions);

您是否在尝试开始历史记录之前创建了路由器?(德里克·贝利)

于 2012-04-18T10:59:06.447 回答