1

我想用这个 tuto,但对我不起作用

    $(函数(){

    路由器 = can.Control({

      “完成的路线”:函数(){
        console.log("哈希是 #!completed")
      },
      “活动路线”:函数(){
        console.log("哈希是 #!active")
      },
      “项目/创建”:函数(){
        console.log("哈希是 #!project/create")
      },
      “路线”:函数(){
        console.log("空哈希")
      }
    });

    // 确保初始化控件
    新路由器(文档);

    });

我使用window.location.hash = "!#completed"<a href="#!active">Show Active</a> 没有消息显示在控制台中。

我使用带有 JQuery 的 canjs 2.0.4

感谢帮助

4

1 回答 1

2

你必须调用can.route.ready()来初始化路由:

Router = can.Control({
  "completed route" : function(){
    console.log("the hash is #!completed")
  },
  "active route" : function(){
    console.log("the hash is #!active")
  },
  "route" : function(){
    console.log("empty hash")
  }
});

// make sure to initialize the Control
new Router(document);

can.route.ready();

这是小提琴:http: //jsfiddle.net/DeGR5/

于 2014-01-13T03:06:07.743 回答