簡體   English   中英

如何檢測Backbone.History參照站(歷史長度)

[英]How to detect Backbone.History referer (history length)

我正在開發具有多個視圖,集合等的Backbone應用程序。它還有一個路由器,可以很好地處理永久URL。

我要實現的目標是創建一個“后退”按鈕,該按鈕允許用戶在可用時將window.history(-1)到先前的視圖(用戶來自該視圖)。 如果沒有,則“后退”按鈕將轉到主頁。

基本上,我需要檢查Backbone是否已在其歷史記錄中保存了一些內容,可以用來回退一步。 如果歷史記錄為空(我們直接導航到該URL),則指向主路由器。

我已經嘗試使用window.hisory.length但是它永遠不會為空。 它可能仍指向瀏覽器的起始主頁或瀏覽器的空白打開頁面。

Backbone.History是否跟蹤通過它的URL(哈希)? 如果是這樣-我該如何訪問它。 我已經嘗試過使用控制台記錄Backbone.History,但沒有找到任何可以保留的內容。

任何幫助/建議表示贊賞。

您可以執行以下操作:

路由器初始化功能-

this.on("all", this.storeRoute);
this.history = [];

然后storeRoute函數(也在路由器中)-

storeRoute: function() {
    return this.history.push(Backbone.history.fragment);
}

在路由器-

previous: function(){
    if (this.history.length > 1) {
      return this.navigate(this.history[this.history.length - 2], true);
    }
}

因此,您可以隨時調用yourApp.router.previous()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM