Backbone - 如何在我的情况下维护状态

时间:2014-01-28 11:13:35

标签: backbone.js routes state query-variables

我在这里读了很多帖子,但找不到真正的答案。

我正在构建一个桌面应用程序,首先加载大量的json记录(让我们称之为“卡片”)。然后用户可以使用许多复选框对其进行过滤,这样他就可以“汇总/减去”选项(读取:查询变量)。

我也在尝试使用路线。

所以,我可以举例说(我真的不知道我是不是以正确的方式做到了):

  • app.com /#/卡/?near_address =伦敦
  • app.com /#/卡/ near_address =伦敦&安培;猫=音乐会
  • app.com /#/卡/ near_address =伦敦&安培;猫=音乐会和天= 8
  • app.com /#/卡/ near_address =伦敦&安培;半径= 10000 [...]

基本上,每次用户更改过滤器时,我都应该添加/删除查询变量。

我可以通过多种方式做到这一点,例如使用一些简单的“状态”json对象,但我不确定这是一个好习惯,主要是因为我不确定我是否可以改为做只使用路线(我对路线概念很新)。

用骨干做这种事情有没有“好的做法”?

谢谢

1 个答案:

答案 0 :(得分:1)

使用路线存储状态实际上是一个非常好的主意。这就是存储状态的路径,但是由您决定使用它们的程度。一些开发人员选择每页路由,有些人选择像你的例子那样更精细,这也很好。你必须要小心,不要过分使你的网址太长而且神秘。

使用路线存储状态可为您带来一些非常重要的好处:

  • 您的网页可以刷新。没有什么比刷新网页和丢失所有进度更令人讨厌的了,并且会回到应用的开始页面。

    < / LI>
  • 您的URI是可共享的。我可以创建一个过滤器,查看结果并将uri发送给任何人,他们会看到与我相同的页面。

  • 他们让您的生活变得更轻松。可以回复您的网页,可以让您更改样式或脚本文件并刷新页面并查看更新的页面无需浏览您的应用以反复返回相同的视图。