【问题标题】:Should I destroy JSON object when navigating to different page on SPA导航到 SPA 上的不同页面时是否应该销毁 JSON 对象
【发布时间】:2018-09-10 22:02:57
【问题描述】:

我有一个 SPA,它使用包含模型数据的 HTML 和 Javascript 文件加载屏幕。在特定页面加载时,它们的属性可能看起来像这样。该对象可能包含大量属性和函数。

app.viewModel.members.eventSchedule = new EventSchedule();

如果我离开页面(因为它是一个 SPA,所以在页面中动态加载新的 HTML 和 Javascript,该属性仍然完好无损。

多年来它没有伤害任何东西,但我认为摧毁它们可能会更好。如果有人返回该页面,该对象只会从动态加载的 Javascript 文件中重新创建。

我应该通过离开页面来销毁这些对象还是保留它们?最好的方法是什么?在哪里?

【问题讨论】:

    标签: javascript html json dom single-page-application


    【解决方案1】:

    如果您将其设置为undefined 的属性,则数据最终应该被垃圾收集。如果用户在关闭浏览器之前返回页面,请确保重新初始化属性。

    【讨论】:

    • 我应该在 onbeforeload 中这样做
    • 不太可能,因为在关闭窗口时通常会调用beforeunload。这很难回答,因为它取决于您的 SPA 框架以及用户可以转换到不需要数据的 SPA 区域的(数量)方式。我需要知道“动态加载[ing]新的HTML和Javascript”到底是什么意思。
    • 是的,你是对的。我忘记了我有自己的“卸载前”设置,以便我的 SPA 在页面被导航离开时运行功能。我可以把它放在那里。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多