gpt4 book ai didi

javascript - 今天(2011 年)我应该使用哪个 JavaScript hashchange/history 库?

转载 作者:行者123 更新时间:2023-11-28 21:15:16 25 4
gpt4 key购买 nike

1) 我应该为我的 JavaScript 应用程序使用哪种 JavaScript hashchange/历史库/方法?
2)我如何使用该方法实现这三件事?

A) 当页面加载时,我想解析 url 哈希/参数并设置初始应用程序状态。
具体来说,我的应用程序由一个带有两个模型的 Backbone Collection 组成,这些模型具有 selectedCountry、selectedYear 等属性。
(我不认为我可以使用 Backbone.Router,因为这是一个非常定制的可视化应用程序,具有复杂的状态?)

B) 我想设置一个 hashchange 监听器或类似的监听器,让我相应地更新应用程序状态

C) 在 Backbone Collection 更改事件中,我想更新 url。重要提示:我想在执行此操作时暂时删除 hashchange 监听器,以便不存在反馈循环。

注意:该应用程序已经依赖于一些 HTML5 技术,因此该解决方案不必与旧版浏览器兼容...但是“反馈循环”部分很重要,因为我之前一直在努力解决这个问题...

谢谢:)

最佳答案

由于您已经使用 Backbone,我会坚持使用 Backbone 的 Router 对象。使用应用程序中已有的内容会比尝试添加新内容更容易。

至于你的反馈循环问题,我已经通过 never firing my router methods from code 解决了这个问题.

其要点是,我让 JavaScript 对象控制应用程序的状态,并为我完成工作。当我调用 router.navigate 时,我从不传递 true 作为第二个参数。我仅调用 router.navigate 来响应应用程序中的状态更改,以更新浏览器窗口中的哈希片段。事情是这样的:这纯粹是对应用程序状态已更改的响应。我从不使用 router.navigate 来更改应用程序的状态。

希望有帮助

关于javascript - 今天(2011 年)我应该使用哪个 JavaScript hashchange/history 库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7768416/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com