【问题标题】:Marionette Router Query String Parameters In URL Fragment RoutesURL 片段路由中的 Marionette 路由器查询字符串参数
【发布时间】:2015-10-22 14:15:58
【问题描述】:

我正在开展一个项目,该项目要求大多数 UI 状态都可以通过 URL 重现。在传统(服务器端)应用程序中,我可以使用两个 URL 参数,例如:

/resources/:id

无序的可选查询字符串参数,如:

/resources/:id?page=5&sort=date

有没有一种惯用的方法可以通过 Backbone/Marionette 路由来实现这一点?我不想为每个可能的参数组合配置路由。

事实上,我没有看到这个问题得到了太多解决,这让我觉得我可能是在寻找错误的树,但我确实认为能够在 URL 中表示尽可能多的 UI 状态非常重要很多项目。

【问题讨论】:

    标签: backbone.js marionette


    【解决方案1】:

    看起来最好的选择是现在孤立的 backbone-query-parameters 项目。

    它完全支持我正在寻找的形式的路线:

    #resources/:id?flag=true

    【讨论】:

      【解决方案2】:

      Backbone/Marionette 并没有真正强制执行 URL 参数。一个可能的原因是 URL 参数对 SEO 不友好。

      相反,您可以配置与 URL 参数非常相似的可选 URL 片段:

      /resources/:id(/page/:page)(/sort/:sort)
      

      如果你这样做,这里唯一的问题是这个“参数”序列需要排序。

      但是,如果您需要它是无序的,您可以简单地在 initialize 中使用带有 router.route() 方法的正则表达式,如 Router#route 中所述

      【讨论】:

        猜你喜欢
        • 2015-04-17
        • 1970-01-01
        • 2014-08-23
        • 1970-01-01
        • 2015-04-12
        • 1970-01-01
        • 2017-06-26
        • 1970-01-01
        • 2018-04-30
        相关资源
        最近更新 更多