Javascript 两个主干网之间的差异。路由器定义
我想尝试使用backbone.js创建我的第一个javascript应用程序 我发现了奇怪的行为,不理解两段代码之间的区别 一个很好,第二个似乎不起作用 在主页和“测试”url上显示警报 这不起作用,但是主干。历史。汉勒看起来一模一样Javascript 两个主干网之间的差异。路由器定义,javascript,backbone.js,Javascript,Backbone.js,我想尝试使用backbone.js创建我的第一个javascript应用程序 我发现了奇怪的行为,不理解两段代码之间的区别 一个很好,第二个似乎不起作用 在主页和“测试”url上显示警报 这不起作用,但是主干。历史。汉勒看起来一模一样 var router = new Backbone.Router({ routes:{ "": 'index', "test": 'test' }, index: function(){ al
var router = new Backbone.Router({
routes:{
"": 'index',
"test": 'test'
},
index: function(){
alert('index');
},
test: function(){
alert('test');
}
});
Backbone.history.start();
两位代码之间的区别在于,在第一个代码中,您创建了一个名为
AppRouter
的新类,而在第二个代码中,您只是创建了一个普通的主干.Router
类
我可能有点误解,但你似乎在说第一个例子有效,而第二个则无效
第二个示例不起作用的原因是主干.Router只接受routes
hash作为其构造函数的参数。通过的索引
和测试
函数不会作为对象上的函数创建
如果你想把路由
散列传递给构造函数,你仍然需要用实际的路由函数扩展主干路由器。例如:
var AppRouter = Backbone.Router.extend({
index: function(){
alert('index');
},
test: function(){
alert('test');
}
});
var app = new AppRouter({
routes:{
"": 'index',
"test": 'test'
}});
Backbone.history.start();
两位代码之间的区别在于,在第一个代码中,您创建了一个名为
AppRouter
的新类,而在第二个代码中,您只是创建了一个普通的主干.Router
类
我可能有点误解,但你似乎在说第一个例子有效,而第二个则无效
第二个示例不起作用的原因是主干.Router只接受routes
hash作为其构造函数的参数。通过的索引
和测试
函数不会作为对象上的函数创建
如果你想把路由
散列传递给构造函数,你仍然需要用实际的路由函数扩展主干路由器。例如:
var AppRouter = Backbone.Router.extend({
index: function(){
alert('index');
},
test: function(){
alert('test');
}
});
var app = new AppRouter({
routes:{
"": 'index',
"test": 'test'
}});
Backbone.history.start();
我在《脊骨解剖》中看到了第二个例子。你能说说作者为什么使用它吗?我可以从中添加源代码there@kiwaa我不知道他们为什么会使用它,但是如果你看一下主干.Router构造函数代码(),你会发现它对传递给它的函数没有任何作用。也许如果你发布消息来源,我可以回答这个问题。其实没关系。谢谢你的帮助,我在《BackboneJS的剖析》中看到了第二个例子。你能说说作者为什么使用它吗?我可以从中添加源代码there@kiwaa我不知道他们为什么会使用它,但是如果你看一下主干.Router构造函数代码(),你会发现它对传递给它的函数没有任何作用。也许如果你发布消息来源,我可以回答这个问题。其实没关系。谢谢你的帮助