现在我正在深入研究canjs,它看起来像一个很棒的mvc框架。我的路由器有问题。我正在使用 wamp 在本地主机中进行测试。所以问题如下:当我输入 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);
});
最佳答案
我created a Fiddle使用最新版本(只需调用 can.route.ready()
即可开始路由)运行您的代码,我得到
router init
default route
london
这应该是您所期望的。
关于javascript - canjs中的路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19595907/