我有两个下拉框。我在第一个下拉列表的ko计算中填充第二个下拉列表框。我有两个列表,其中一个填充了下拉列表中所选项目的所有可用值。在右边的列表中,用户可以从左侧选择值,以免由ko计算功能填充,一旦在第一个或第二个下拉列表中更改了值,则需要清除seletedItems数组(从右侧开始)列表),现在是新值的左侧列表,我尝试从右侧列表中选择值,但是对数组seletedItems(我在ko计算中用removeAll清除的)的每个选择都调用了ko计算。正在发生。请寻求任何帮助。
谢谢,
最佳答案
前言:我同意Niko和Paolo del Mundo。如果您包含代码片段,我们将可以为您提供更好的帮助。
话虽如此,您表示您的computed
函数意外地递归调用了自己。
如果是这种情况,那么我建议您简化Knockout VM代码。
重构并支持手动订阅。
尽管它们具有表现力和功能,但computed
函数还是很棘手的。
如果创建的对象过多,则很难预测何时调用它们。
有了足够大的数据集,IE 8和更早的版本将使用slow running script warning标记过于复杂的Knockout代码。