Javascript KO递归调用计算

Javascript KO递归调用计算,javascript,knockout.js,Javascript,Knockout.js,我有两个下拉框。我填充第一个下拉列表的第二个下拉框。我有两个列表,其中一个填充了下拉列表中所选项目的所有可用值。在右边的列表中,用户可以从左边的列表中选择由ko compute函数填充的值,当第一个或第二个下拉列表中的值发生更改时,我需要清除seletedItems数组(从右边的列表中),现在左边的列表中有新的值,我尝试从右边的列表中选择值,但是对数组seletedItems的每个选择都会调用ko计算(我在ko计算中用removeAll清除了它),不知道为什么会发生这种情况。请提供任何帮助 谢谢

我有两个下拉框。我填充第一个下拉列表的第二个下拉框。我有两个列表,其中一个填充了下拉列表中所选项目的所有可用值。在右边的列表中,用户可以从左边的列表中选择由ko compute函数填充的值,当第一个或第二个下拉列表中的值发生更改时,我需要清除seletedItems数组(从右边的列表中),现在左边的列表中有新的值,我尝试从右边的列表中选择值,但是对数组seletedItems的每个选择都会调用ko计算(我在ko计算中用removeAll清除了它),不知道为什么会发生这种情况。请提供任何帮助

谢谢

前言:我同意和。如果您包含代码片段,我们将能够更好地帮助您


说到这里,您指出您的
计算的
函数意外地递归调用自己

  • 如果是这种情况,那么我建议您简化淘汰VM代码
  • 重构,支持手动订阅

  • 尽管它们的表现力和功能强大,
    computed
    函数可能很棘手
  • 如果您创建了太多,则很难预测何时调用它们
  • 对于足够大的数据集,IE 8及更旧版本将使用
前言:我同意和。如果您包含代码片段,我们将能够更好地帮助您


说到这里,您指出您的
计算的
函数意外地递归调用自己

  • 如果是这种情况,那么我建议您简化淘汰VM代码
  • 重构,支持手动订阅

  • 尽管它们的表现力和功能强大,
    computed
    函数可能很棘手
  • 如果您创建了太多,则很难预测何时调用它们
  • 对于足够大的数据集,IE 8及更旧版本将使用

代码中的相关部分将非常有用!如果不知道代码是什么样子,就无法真正提供帮助。请附加一个fiddle链接。我的最终目的是观察数组元素的变化,并根据这一变化我需要采取一些行动。我想在不使用ko计算的情况下这样做。我知道有一个类似于subcribe in ko的概念,用于避免变量的任何值变化,而不是使用ko计算。作为一个初学者,我无法获得太多的信息。如果有人给出了如何使用订阅的示例,那将非常有帮助如果您正在寻找
订阅
示例,本页底部可能会有所帮助:代码的相关部分将非常有用!如果不知道代码是什么样子,就无法真正提供帮助。请附加一个fiddle链接。我的最终目的是观察数组元素的变化,并根据这一变化我需要采取一些行动。我想在不使用ko计算的情况下这样做。我知道有一个类似于subcribe in ko的概念,用于避免变量的任何值变化,而不是使用ko计算。作为一个初学者,我无法获得太多的信息。如果有人给出了如何使用订阅的示例,这将非常有帮助如果您正在寻找
订阅
示例,本页底部可能会有帮助: