簡體   English   中英

今天(2011年)應該使用哪個JavaScript hashchange / history庫?

[英]Which JavaScript hashchange/history library should I use today (2011)?

1)我應該為我的JavaScript應用程序使用哪種JavaScript hashchange / history庫/方法?
2)如何使用該方法實現這三件事?

A)頁面加載時,我想解析url哈希/參數並設置初始應用程序狀態。
具體來說,我的應用程序包含一個具有兩個模型的Backbone集合,這些模型具有諸如selectedCountry,selectedYear等屬性。
(我不認為我可以使用Backbone.Router,因為這是一個具有復雜狀態的非常定制的可視化應用程序?)

B)我想設置一個hashchange偵聽器或類似的東西,讓我相應地更新應用程序狀態

C)在Backbone Collection上更改事件,我想更新URL。 重要提示:在執行此操作時,我想暫時刪除hashchange偵聽器,以便沒有反饋循環。

注意:該應用程序已經依賴於某些HTML5技術,因此該解決方案不必與舊版瀏覽器兼容...但是“反饋回路”部分非常重要,因為我之前一直在為此苦苦掙扎...

謝謝 :)

由於您已經在使用Backbone,因此我會堅持使用Backbone的Router對象。 使用您的應用程序中已有的功能會比嘗試添加新功能更容易。

至於您的反饋循環問題,我已經解決了這一問題, 從來沒有從code中觸發我的路由器方法

要點是,我讓我的JavaScript對象控制應用程序的狀態,並為我完成工作。 當我調用router.navigate ,我從不將true作為第二個參數傳遞。 我僅在響應我的應用程序中的狀態更改時調用router.navigate來更新瀏覽器窗口中的哈希片段。 事情是這樣:這純粹是對應用程序狀態已更改的響應。 我從不使用router.navigate更改應用程序的狀態。

希望能有所幫助

暫無
暫無

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

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