【问题标题】:Appending to current route in Backbone/Marionette?追加到 Backbone/Marionette 中的当前路线?
【发布时间】:2023-03-17 13:23:01
【问题描述】:

我的 Marionette 应用程序的一部分正在打开引导模式。发生这种情况时,我想将其注册为“导航”事件,我目前正在为此使用App.navigate("/modal",false); 更改网址。在模态视图中,我正在监听返回历史事件以关闭模态(对 Android / 移动设备有用),但我想 append “/modal” 到当前路线,而不是根。

如何获取当前路由/URL,然后将“/modal”附加到并调用 .navigate() 函数?

谢谢!

编辑:

显然我在这里寻找的短语,就网络开发而言,是一种“微观状态”,正如此处的博客所述:http://chrisawren.com/posts/Implementing-microstates-in-Backbone-js

建议的方法是完全绕过主干历史并直接与 html5 历史堆栈交互,适用于您需要全屏模式但不想调用路由器处理或更改 URL 但仍想支持的地方后退按钮。

【问题讨论】:

    标签: javascript backbone.js marionette


    【解决方案1】:

    简单

    router.navigate(router.fragment + "/modal")

    【讨论】:

    • 太简单了!哈哈哈。为了完全实现这一点,我的 app.js 中显然已经有一个 App.getCurrentRoute() 函数,可能来自“木偶简介”一书。这将返回 Backbone.history.fragment,这是您所指的正确片段。
    • 在进一步的研究中,事实证明“微状态”是我需要搜索的关键词,并且我发现了一个博客,它解释了一种实现我实际寻找的方法的方法。但是,由于您在回答我的问题方面做得很好(并且我现在已经实现了),所以我将其标记为答案
    • 很高兴能帮上忙,这应该是一个新功能,已经1年没有碰骨干了。我记得尽管fragment 这件事很常见,但没有记录在案
    猜你喜欢
    • 2017-02-13
    • 1970-01-01
    • 2015-04-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-20
    • 1970-01-01
    • 2016-06-20
    • 1970-01-01
    相关资源
    最近更新 更多