Javascript Canjs不路由

Javascript Canjs不路由,javascript,url-routing,canjs,canjs-routing,Javascript,Url Routing,Canjs,Canjs Routing,我不知道到底发生了什么,所以这个bug正在折磨我。我用jquery将我的canjs版本更新到最新版本,目前是2.0.4,路由器停止工作。没有路由任何内容,我尝试使用window.location.hash和can.route.attr,但没有路由。让我烦恼的是,我使用的旧版本工作得非常好。这是密码 var Router = can.Control({ 'init': function() { }, 'route' : function(){ window.

我不知道到底发生了什么,所以这个bug正在折磨我。我用jquery将我的canjs版本更新到最新版本,目前是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);
});

仅供参考,最新的CanJS是昨天发布的2.0.5

can.route.ready()
can.route.ready(true)
实际上什么都不做,以防止遗留代码中出现多个路由设置。这在某种程度上解释了为什么代码没有初始化第一次跳转到#!仪表板,因为您需要在调用
ready
之前初始化路由器控制器


最好删除对
ready
的第一个调用,并从第二个调用中取出参数。我在这里有一个演示--单击Run,您将看到控制器中每个路由侦听器触发的证据。

为了补充@air_hadoken的正确答案,这应该是将表单1.1.x升级到2.0.x时唯一重大的突破性更改。谢谢,它起了作用。现在我所做的是从他们的网站上下载最新版本,但它仍然不起作用,我下载了你手中的版本,它起作用了!。非常感谢,我需要升级,因为双向绑定是我现在必须使用的一个功能:D。