使用现有过滤器重新绘制所有dc.js图表

时间:2014-08-21 08:41:10

标签: javascript dc.js

我有一个dc.js视图,相当复杂。这允许用户过滤掉一组数据,并根据过滤器进行导航。

麻烦是当用户点击后退按钮时,视图会重新加载图表,但未显示应用的过滤器。

我是否有办法使用" filter-state"重新绘制现有crossfilter对象上的dc.js图表​​?正确设置在图表上?

更新:

这是一个SPA应用程序,我在浏览器中维护状态并处理视图切换"我的自我"。

1 个答案:

答案 0 :(得分:0)

我想你会仔细检查一下,当重新加载页面时,它是一个全新的交叉过滤器对象。没有什么可以保留,虽然可能有一些技巧来保存浏览器历史记录或使用浏览器本地存储,我想你最终会以某种方式序列化状态。

这是一个非常酷的例子(由我的同事)使用URL重写来更改查询字符串以保持过滤器状态:

http://cscheid.net/static/mlb-hall-of-fame-voting/

以某种方式将它抽象到库中会很好,但我不知道是否有人这样做过。源代码可以在github上找到:

https://github.com/cscheid/mlb-hall-of-fame-voting