【问题标题】:How does Backbone.history save state and prevent new collections from being made?Backbone.history 如何保存状态并防止创建新的集合?
【发布时间】:2016-06-02 21:35:23
【问题描述】:

我正在从这个tutorial 构建一个待办事项应用程序,它的源代码可以在here 找到。

我的理解是,一旦你调用 Backbone.history.start(),脚本会告诉浏览器缓存你在页面域内访问的所有页面。每个页面的状态都保存在缓存中,并映射到 # 符号之后的 url。但是,当脚本每次运行时都调用new app.TodoList() 时,这将如何解决?每次运行此脚本时,这个新集合不会替换缓存中的旧集合吗?如果脚本位于浏览器已经缓存的页面上,代码后面是否发生了一些事情,告诉脚本不要运行new app.TodoList()

【问题讨论】:

    标签: backbone.js state browser-history history.js


    【解决方案1】:

    不,浏览器不会将页面或应用程序的状态与历史记录一起缓存。仅保存 URL。然后,您可以使用路由器来侦听 URL 更改并更新应用程序的状态。当您打开应用的 URL 时,返回和前进,这将触发路由器中相应的路由回调,您将使用与路由绑定的回调函数来更新应用的状态。

    【讨论】:

    • 浏览器到底缓存了什么?
    • 它可以缓存资产,但不是必须的。就您的应用程序的状态而言,它不会缓存任何内容。
    猜你喜欢
    • 1970-01-01
    • 2020-03-23
    • 1970-01-01
    • 1970-01-01
    • 2013-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多