我刚开始使用crossroads.js和hasher.js,并且成功解析了我的大部分路线。我不明白的是如何回到页面的根目录。我知道我说的不对,但这是我的问题:
我导航到http://example.com,我看到了我需要看到的内容。
我将哈希值更改为http://example.com/#/foo,我会做我需要做的更改DOM。
我尝试在浏览器中单击回来,我在这里很糟糕。
也许我需要在十字路口定义“根”路线?我是否对历史做错了什么?
答案 0 :(得分:1)
据我所知,你在两个环境中都处于中途(哈希+十字路口)。
如果根模式匹配,则将带有“root”模式的路由添加到十字路口会触发此路由的已定义处理程序。并且处理程序调用显示根页面内容。
第二个问题是必须配置良好的哈希。查看hasher doc上的hasher.setHash()和hasher.replaceHash()之间的区别。如果要保留历史记录并使用浏览器返回功能,请使用setHash。
整个过程将是:
准备好可以听取更改:
function parseHash(newHash, oldHash){
crossroads.parse(newHash);
}
hasher.initialized.add(initialParse); //parse initial hash
hasher.changed.add(parseHash); //parse hash changes
hasher.init(); //start listening for hash changes
当然定义了根页面可以调用显示根内容的路由:
crossroads.addRoute("", function() {
// call displaying root page
});