我能够使用 Backbone 的 history.navigate 默默地更改我的网址。喜欢从/itmes
到/itmes?price=5
或其他
但是当我想把它改回来时(比如我清除了一些过滤器),从/items?price=5
to /items
,它就不起作用了。
示例代码:
# From /items to /items?price=5&category=business, works
Backbone.history.navigate("/items?price=5&category=business", false)
# From /items?price=5&category=business to /item, doesn't work as I've expected
Backbone.history.navigate("/items", false) # this one doesn't
有任何想法吗?如果 Backbone 的历史不支持此功能,有人可以告诉我一个解决方案吗?非常感激。
更多信息:
我发现了另一个奇怪的事情。假设我们在/items?price=5
,如果我Backbone.history.navigate("/items", false)
直接打电话。什么都没发生。
但是,如果我执行一个Backbone.history.navigate("/items?price=5", false)
,然后调用Backbone.history.navigate("/items", false)
,它会完成工作并/items
正确执行。
这种方式的问题是它弄乱了历史,在正常历史之间会有一个附加节点。