我正在使用KO构建一个SPA (单页应用程序)。这个应用程序看起来像一本书,用户可以翻页。
问题是,每次页面加载时,都会有一个短暂的时刻,页面会“闪烁”,用户会看到页面的未设置样式的版本。我猜这是因为很多样式都依赖于ko绑定,所以直到ko完成它的“魔术”,用户才能一窥未样式化的代码。
有没有可能在KO完成所有绑定后才显示页面?
我已经设法通过在加载视图之前设置一个超时来部分解决这个问题,但当然这不是一个好的解决方案。
发布于 2013-01-30 01:30:27
是的,实际上这很容易。将display:none应用于顶级div (或w/e容器)和data-bind="visible: true"。这将导致页面被隐藏,直到knockout通过绑定将其取消隐藏(这显然在页面完全加载之前不会发生)。
因为您使用的是不可观察的值,所以Knockout甚至不会再检查一次。在初始绑定之后,不应该有性能问题。
发布于 2013-11-02 03:27:36
我认为以前使用模板可以更好地回答这个问题。
What is the best way to hide the screen while knockout js bindings are being built?
https://stackoverflow.com/questions/14583018
复制相似问题