订阅“;beforeChange”;依赖关系Observable会创建不需要的依赖关系

Subscribing to "beforeChange" on dependentObservable creates unwanted dependencies

本文关键字:关系 依赖 创建 不需要 Observable 订阅 beforeChange      更新时间:2023-09-26

当在dependentObservable上使用带有"beforeChange"的subscribe时,它将创建对回调中访问的任何可观察对象的依赖关系,因为事件发生在依赖关系检测期间。

例如,将处理程序中的当前值与上一个值进行比较将导致无限递归,因为它将依赖于自身。

这附近有什么吗?这是意料之中的事吗?这似乎违背了直觉。从代码来看,该事件似乎很容易在依赖检测之外触发。

感谢

Github上已经记录了一个问题:https://github.com/SteveSanderson/knockout/issues/341

希望我们能尽快解决这个问题。

目前,您可以选择在setTimeout(function() { //your code here }, 0)中执行订阅代码,该代码将在当前执行完成后立即运行,这可能适用于您的场景,也可能不适用。