首页 > 解决方案 > 交换大树的首选方式(例如 SPA 中的页面):`display: none`、`replaceChild()` 等

问题描述

在开发复杂的 Web 应用程序(如 SPA)时,我们面临着在不同时间显示/启用/保持更新的应用程序不同部分的问题。

例如,作为一个简单的示例,考虑在 SPA 中交换应用程序的当前页面/部分/活动。

假设这些树很重要(它们是整个页面,它们可能包含 CSS 动画、事件处理程序、一些非静态内容等)并且我们关心性能,那么现在交换它们的首选方式是什么进进出出?现代框架选择什么方法?为什么?

特别是,需要考虑的几个指标很重要:

请注意,为了尽可能快,我们希望以某种方式保持内容/页面的预加载(即此处不讨论网络请求)。


就上下文而言,以下是人们多年来使用的几种方式:

标签: javascripthtmlcssperformancedom

解决方案


推荐阅读