0

我刚开始学习主干js。路由器不懂。我写了一个简单的代码。它应该做的是在控制台中打印“我正在工作”。但它不起作用。

$(document).ready(function(){
var AppView = Backbone.View.extend({
    el: 'body',
    initialize: function(){
        console.log('this is working');
    }
});
var AppRouter = Backbone.Router.extend({
    routes: {
        '': function(){
            var a = new AppView();
        }
    }
});
    var ar = new AppRouter();
Backbone.history.start();
});
4

1 回答 1

2

您几乎可以肯定有 Backbone 版本问题。1.0.0 更改日志条目说:

  • 如果您愿意,Router 的路由映射中的路由现在可以是函数字面量,而不是对方法的引用。

您甚至可以在修订历史记录中找到使这种新行为成为可能的微不足道的一行更改。

旧版本的 Backbone 需要路由方法名称,routes并且不知道如何处理函数。升级到最新的 Backbone(以及下划线和 jQuery),您的代码就可以工作了。

演示:http: //jsfiddle.net/ambiguous/sfeCr/1/

于 2013-06-23T19:04:57.277 回答