如何在不改变路径/动作的情况下更改查询参数?

时间:2014-04-26 15:04:58

标签: backbone.js chaplinjs

在我看来,我渲染集合,我有排序按钮。 单击排序按钮时,将使用某个自定义查询参数(如&sort=id+desc)获取集合。它工作但我想也将url查询字符串更改为此查询参数(&sort=id+desc)。问题是它可以工作,但它会重新呈现整个视图,因为路由器只是重定向到不同的操作(实际上是相同的操作但具有不同的查询参数)。

如何在不重新加载视图的情况下更改url查询参数并将其添加到历史记录中?

我在我的应用中使用pushState

1 个答案:

答案 0 :(得分:0)

你应该使用骨干路由器。

当您需要运行应用程序星标时:

Backbone.history.start({pushState: true});

要更改网址,只需使用路由器:

router.navigate("something?key=value");

如果您没有路由器,只需创建一个:

var router = new Backbone.Router();