2015-07-21 72 views
1

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

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

谢谢!

编辑:

显然,我一直在寻找这里的短语,在网络发展方面,是一个“微型国家”,如在博客这里解释:http://chrisawren.com/posts/Implementing-microstates-in-Backbone-js

建议的方法是完全绕过骨干历史并直接与html5历史堆栈进行接口,用于需要全屏模式但不想调用路由器处理或更改URL但仍希望支持后退按钮的位置。

回答

2

只需

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

+0

太简单了!哈哈哈。为了完全实现这一点,我显然已经在我的app.js中有一个'App.getCurrentRoute()'函数,可能来自“Gentle Introduction to Marionette”一书。这会返回'Backbone.history.fragment',这是您所指的正确的片段。 – mix3d

+1

在进一步的研究中,我发现“微观状态”是我需要搜索的关键短语,并且我找到了一个博客,解释了实现我实际所需的方法。但是,由于你在回答我所提出的问题方面做得很好(现在我已经实现了这一点),所以我将其标记为答案 – mix3d

+1

很乐意提供帮助,这应该是一个新功能,它已经是1一年没有接触骨干。我记得尽管这个“碎片”事件是一个非常常见的情况,但没有记录 –