0

现在我正在研究 canjs,它看起来像一个很棒的 mvc 框架。我的路由器有问题。我正在使用 wamp 在 localhost 中进行测试。所以问题如下:当我输入 localhost 时,浏览器中的初始 url 是“localhost”,这与我在处理空 url 的路由器中的第一个案例相匹配。问题是我正在做一个 window.location.hast 来重定向用户,但是在我这样做之后它不会被路由,所以这是我需要帮助的部分。我的路由器代码如下:

$(function() {
'use strict';
var Routing = can.Control({
    defaults: {}
}, {
    'init': function() {
        console.log('router init');
    },
    //default router
    'route' : function(){
        console.log('default route');
        window.location.hash= "#!dashboard/london/";//doesnt works like this
        //can.route.attr('location','london');//like this it works!!!
    },
    //route i cant match!
    'dashboard/:location/ route' : function(data){
        console.log(data.location);
    }
});

can.route.ready(false);
new Routing($('body'));
can.route.ready(true);

});

4

1 回答 1

2

我用运行你的代码的最新版本(只需要调用开始路由)创建了一个小提琴,我得到了can.route.ready()

router init
default route
london

这应该是你所期待的。

于 2013-10-25T22:44:42.737 回答