如何在CanJS中实现路由器?

How do I Implement router in CanJS

本文关键字:实现 路由器 CanJS      更新时间:2023-09-26

我正在帮助https://github.com/thinkadoo/Projects应用程序。我在这个的帮助下建立了一个类似的应用程序。我的应用程序使用d3图表,而不是这个使用的。我的应用将路由器初始化为

  var patientStatus = new PatientStatus('#application', {'credentials':Credentials,'secret':Secret});

现在,如果我想实现路由器,那么应该做什么改变?下面是两个实现的JSFiddle。第一个起作用了。但是后面的部分,在我初始化路由器似乎不工作。http://jsfiddle.net/sweety1112/YMAjm/

有谁能帮帮我吗?

这是一个更新的小提琴,显示路由是如何工作的:

  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);

基本上,你所做的就是初始化你的命名占位符,并告诉控制器这应该由route处理器处理。现在,如果您去到一个URL,如#!test/23,处理程序的数据将包含typeid属性。