gpt4 book ai didi

javascript - 推迟更新 DOM

转载 作者:行者123 更新时间:2023-11-28 12:14:16 26 4
gpt4 key购买 nike

OP 的注释: 我不是在询问内置的 knockout 延迟设置,除非可以通过操纵它来实现此目的

<小时/>

我有一个应用程序,它加载了所有可能的屏幕并最初绑定(bind)到 View 模型。 View 模型上的属性之一控制用户可以看到的“屏幕”。

出于纯粹病态的好奇心,我想知道是否有一种内置的或相对简单的方法来告诉 knockout 停止操作 DOM 的某些部分,即“仅在 X 属性等于此值时更新此 block ”。或者甚至更好 - 如果该元素的可见性在 KO 中关闭,则不要操作任何子元素。

最终结果是不可见的“屏幕”不会更新,而 View 模型上的可观察对象仍会在后台执行其操作。然后,当屏幕发生变化时,新可见屏幕的 DOM 将会更新。

许多屏幕使用相同的可观察量,因此我认为不不断地重新操作 DOM 可能会带来性能提升 - 例如更新用户当前不可见的 HTML 列表,同时搞乱另一个屏幕中的设置。

或者性能优势可能可以忽略不计,因为浏览器不会重绘隐藏元素。你也可以告诉我很多。

如果重要的话,运行 KnockoutJS 3.4.x。

最佳答案

查看 Knockout 的控制流绑定(bind)。 if , ifnotwith Bindings 可以决定是否渲染被绑定(bind) dom 节点包围的 DOM 元素。我认为这将是你最好的选择。

由于您不想渲染不必要的 dom 节点,因此不要使用 visibile 绑定(bind),因为它仅隐藏 dom 节点,但它仍然在 DOM 中渲染

关于javascript - 推迟更新 DOM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52865334/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com