使用Backbone.Router记忆带有url哈希的复杂页面状态

时间:2011-11-13 15:36:56

标签: javascript url backbone.js

我目前正在尝试做标题中写的内容:)但找不到一个好的/干净的方法来做...

问题在于:

我有一个带有地图的页面,您可以通过点击它们来显示这些对象。此地图还有一个工具栏,您可以使用它来隐藏/显示某些类别的对象以及其他类似的东西。

目前我正在使用Backbone.Router并通过url hash为这些对象分配永久链接,例如www.mysite.com/index/#/orange/1 - > "show orange number 1"。但是现在,我还想将地图工具栏状态保存在网址中,我希望所有内容都可以使用相同的路由器进行处理!所以最好的方法是有几个哈希,例如www.mysite.com/index/#/orange/1#/show/bananas#/hide/apples, - > "show orange number 1 - display all bananas - hide apples"但我知道这是不可能的......

那么,是否有人有一个想法,我如何使这个复杂的状态出现在网址中,并由Backbone路由器处理?我怎样才能以干净/简单的方式处理它?<​​/ p>

1 个答案:

答案 0 :(得分:2)

我不知道骨干,但关于URL,我会做类似的事情:

#/orange/1/banana/all/apple/none

将名词(对象名称)放在第一位,将命令(N,all,none)放在第二位。