javascript - 在 dependentObservable 上订阅 "beforeChange"会创建不需要的依赖项

标签 javascript dependencies knockout.js

当在 dependentObservable 上使用带有“beforeChange”的订阅时,它会在依赖检测期间发生事件时创建对回调中访问的任何可观察对象的依赖。

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

这附近有什么吗?这是预期的吗?这似乎违反直觉。查看代码,似乎可以在依赖项检测之外轻松触发事件。

谢谢

最佳答案

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

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

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

关于javascript - 在 dependentObservable 上订阅 "beforeChange"会创建不需要的依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9981518/

相关文章:

javascript - Firebase Cloud Functions 有时直到函数结束才执行

javascript - arcgis javascript 如何关闭图层

oracle - 什么情况导致Oracle软件包无效?

eclipse - 在 Eclipse 中,如何在 Maven 管理的依赖项中搜索类?

javascript - Knockoutjs View 模型结构

html - knockout 可见绑定(bind)样式显示内联不起作用

javascript - 函数内超时(javascript)

javascript - Vanilla JS : Totally disabling a "save" functionality in webpages

java - 在 Eclipse 中确定 Java 项目依赖关系

javascript - 模型在命名空间外不可访问