[英]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.