单页应用程序 - 是否将页面(视图)保留在 DOM 中?

Single Page App - keep pages (views) in the DOM or not?

我正在构建一个移动网络应用程序并考虑管理应用程序页面的最佳方法(比如 'full screen views')。

使用jQuery手机时,常用的页面全部保存在DOM中。一些其他框架 (Backbone/Marionette) 用户 suggest 只有一个页面被分成区域,这些区域在导航时更新。由于我的页面之间没有太多可共享的内容(甚至 header/footer 更改),这意味着如果之前删除了整个页面,则应在导航时重新呈现。

通过快速试用这两种方法,我注意到来自 DOM 的已经缓存的页面比重新渲染它要快得多,而且在保留页面更长时间的同时我没有感觉到性能问题时间.

我的问题是,根据您的经验,最好的方法是什么?如果页面内容没有太大变化或根本没有变化,那么也许我不应该删除视图。 (我说的是最多 10 个中等重量的页面)。干杯

我认为常规的做法(通常也是最高效的)是只渲染足够的内容来填充页面。如果看不到内容,放在DOM里也没什么用。

但是,仅仅因为这可能是常规做法并不意味着它对您的应用来说是最好的。如果您能够将所有内容保留在 DOM 中,从而获得明显更好的性能,那么我认为这不是一个糟糕的方法。

您可能会遇到传统方法的性能问题,因为您还没有改进该方法的经验或知识,但您最终会学到这些技巧,这可能是切换到传统方法优于性能更高的方法。