我创建了一个视图模型对象以用于 KnockoutJS。
它有一个名为“Years”的属性,它是一个可观察的数组......
viewModel.Years = ko.observableArray([]);
然后我有一个计算的 observable,我想在其中更新数组的内容......
viewModel.FuturePrediction = ko.computed(function () {
viewModel.Years.removeAll();
// etc...
});
我遇到的问题是这似乎创建了一个无限循环。我猜Knockout 正在检测我正在访问“Years”属性并在它和“FuturePrediction”属性之间创建依赖关系。
一旦我尝试修改数组的内容,计算函数就会再次被触发。问题是我所做的只是更新 'Years' 数组,而不是读取它 - 因此实际上没有依赖关系。
有什么想法可以解决这个问题吗?