2015-07-21 69 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一年沒有接觸骨幹。我記得儘管這個「碎片」事件是一個非常常見的情況,但沒有記錄 –