因此,这个bug正在杀死我,因为我不知道发生了什么,我更新了我的canjs版本,使用jquery的最新版本是2.0.4,路由器停止工作。我没有路由任何东西,我尝试使用window.location.hash和can.route.attr,而不是路由。让我烦恼的是,我的旧版本运行得很好。这是代码
var Router = can.Control({
'init': function() {
},
'route' : function(){
window.location.hash = '#!dashboard';
},
'dashboard route': function() {
console.log('dashboard')
}
});
$(document).ready(function() {
can.route.ready(false);
new Router($('body'));
can.route.ready(true);
});发布于 2014-02-05 22:08:19
最新的CanJS是2.0.5,昨天发布。
can.route.ready()不像以前那样工作了。实际上,can.route.ready(true)什么也不做,是为了防止遗留代码中的多个路由设置。这在某种程度上解释了为什么您的代码没有初始化第一个跳转到#!仪表板,因为您需要在调用ready之前插入路由器控制器。
最好删除对ready的第一个调用,并从第二个调用中取出参数。我在hadoken/5maLu/1/上有一个演示--单击Run,您将看到控制器触发中每个路由侦听器的证据。
https://stackoverflow.com/questions/21582891
复制相似问题