【问题标题】:Backbone - Get Router parameter and reload same routeBackbone - 获取路由器参数并重新加载相同的路由
【发布时间】:2014-03-12 14:08:59
【问题描述】:

我有一张桌子,我正在删除一行。当我删除这一行时,我想重新加载当前的 Backbone 路由,但需要考虑的事情很少:

例如我在这条路上

"oneurl#order-by-name/page-8"

如果该页面的表只有一条记录并且我将其删除,我想重定向到#order-by-name/page-7,因此我需要获取“page”参数。如果仍有记录,我想“重新加载”相同的路线(如果有,则添加下一页的行)。这似乎是不可能的(https://github.com/jashkenas/backbone/issues/1214)。

有什么想法吗?

【问题讨论】:

    标签: backbone.js routes


    【解决方案1】:

    正如您在链接的问题中所讨论的那样(主要是 jashkenas 的评论“trigger: true 通常是代码异味”),您不应该真正将这样的路由用于 javascript 应用程序。

    你应该做什么:

    • 在某个地方存储当前应用程序的状态(例如,一个普通的 javascript 对象),该状态被传递给负责显示所需视图和数据的函数
    • 删除一行时,修改应用状态对象(如改变当前页面属性),调用同上函数,再次传入配置
    • 仅在片段需要更改时使用navigate更新网址

    反过来,您的路由器应该解析 url 片段以生成上面讨论的配置对象,并调用该函数来呈现视图(传入配置信息)。

    有关如何在不使用trigger: true 的情况下管理路由的更多信息,请查看http://lostechies.com/derickbailey/2011/08/03/stop-using-backbone-as-if-it-were-a-stateless-web-server/free previewmy book(在木偶上,但同样适用于主干),其中还包含一章讨论路线处理。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-03-20
      • 2019-01-15
      • 2019-10-21
      • 2019-08-26
      • 2020-10-17
      • 2020-03-02
      • 2019-01-16
      • 2017-01-24
      相关资源
      最近更新 更多