Javascript 如何在CanJS中实现路由器
我正在申请帮助。我已经建立了一个类似的应用程序的帮助下,这一个。我的应用程序使用的是d3图表,而不是它使用的图表。我的应用程序将路由器初始化为Javascript 如何在CanJS中实现路由器,javascript,canjs,canjs-routing,Javascript,Canjs,Canjs Routing,我正在申请帮助。我已经建立了一个类似的应用程序的帮助下,这一个。我的应用程序使用的是d3图表,而不是它使用的图表。我的应用程序将路由器初始化为 var patientStatus = new PatientStatus('#application', {'credentials':Credentials,'secret':Secret}); 现在,如果我想实现路由器,那么应该做什么更改? 下面是我的JSFIDLE,介绍了这两种实现。第一个正在工作。但是后面我初始化路由器的部分似乎不起作用。
var patientStatus = new PatientStatus('#application', {'credentials':Credentials,'secret':Secret});
现在,如果我想实现路由器,那么应该做什么更改?
下面是我的JSFIDLE,介绍了这两种实现。第一个正在工作。但是后面我初始化路由器的部分似乎不起作用。
谁能帮帮我吗 以下是一个演示路由工作原理的示例:
var Router = can.Control({
defaults: {}
}, {
init: function() {
// this.element.html(can.view('#index', {}));
},
':type/:id route': function(data) {
console.log('Type:', data.type);
console.log('Id:', data.id);
}
});
can.route.ready(false);
new Router('#content');
can.route.ready(true);
基本上,您要做的是初始化命名占位符,并告诉控制器这应该由
路由
处理器处理。现在,如果您转到像#这样的URL!test/23
处理程序的数据将包含类型
和id
属性。嘿,谢谢。它正在工作。我按照你的建议实现了你的,但是现在我的问题是只调用了第一个控制器,其余的直接路由到同一个控制器。我有很多路线,如项目,状态,细节等。。。运行fiddle中提到的代码后,每个链接都会显示projects视图。以下是JSFIDLE:。我的代码中有错误吗?我的URL如下1.MyProjectHub/index.html#!projects,2./MyProjectHub/index.html#!状态,3./MyProjectHub/index.html#!详细信息您不需要:
。表示一个变量。如果您想匹配实际路线,只需像projects route
那样编写它,它将完全匹配#!项目
。