如何在CanJS中实现路由器

时间:2013-04-02 06:50:38

标签: javascript canjs canjs-routing

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

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

现在,如果我想实现路由器,那么应​​该做哪些更改? 这是我的JSFiddle和两个实现。第一个是工作。但是我在初始化路由器的后期部分似乎没有用。 http://jsfiddle.net/sweety1112/YMAjm/

有人可以帮助我。

1 个答案:

答案 0 :(得分:3)

以下是updated Fiddle,其中显示了路由的工作原理:

  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处理器处理。现在,如果您转到#!test/23之类的网址,处理程序的数据将包含typeid属性。