3

我是新尝试在骨干网中使用路由器,但我的Backbone.history.start()方法不起作用。它给了我以下错误

Uncaught TypeError: Cannot call method 'start' of undefined 

这是我的代码

(function ($) {
window.App = {
    Models: {},
    Collections: {},
    Views: {},
    Router: {}
};

window.Template = function (id) {
    return _.template( $('#' + id).html() );
};

App.Router = Backbone.Router.extend({
    routers: {
        '': 'index'
    },

    index: function () {
        console.log('index page');
    }
});

var r = new App.Router;
Backbone.history.start();
})(jQuery);

如何消除此错误?

4

2 回答 2

3

发生这种情况是因为您的路由器中没有任何routes路由器。你有routers,但不一样:)

于 2013-01-20T12:43:10.893 回答
1

将路由器更改为路由

App.Router = Backbone.Router.extend({
    routes: {
        '': 'index'
    },

    index: function () {
        console.log('index page');
    }
});

现在创建路由器对象并启动骨干历史。

app = App.Router();
Backbone.history.start();
于 2013-05-15T09:56:34.147 回答