Javascript 敲除如何更新通过其他函数过滤的ObservalArrays上的绑定?

Javascript 敲除如何更新通过其他函数过滤的ObservalArrays上的绑定?,javascript,knockout.js,ko.observablearray,Javascript,Knockout.js,Ko.observablearray,我一直在广泛使用Knockout.js,但有一种模式我经常使用,我想了解它的实际工作原理 通常,我会有一些视图模型的可观察视图,例如productModule.products。然后,我将使用各种过滤器函数,例如productModule.getAvailableProducts,它使用一个数组过滤器,我目前使用下划线.js返回一个子集,该函数就是绑定到UI的函数。我不太明白的是,如果这些函数返回的是标准数组而不是ObservalArray,那么当我更改基础ObservalArray时,敲除的绑

我一直在广泛使用Knockout.js,但有一种模式我经常使用,我想了解它的实际工作原理

通常,我会有一些视图模型的可观察视图,例如productModule.products。然后,我将使用各种过滤器函数,例如productModule.getAvailableProducts,它使用一个数组过滤器,我目前使用下划线.js返回一个子集,该函数就是绑定到UI的函数。我不太明白的是,如果这些函数返回的是标准数组而不是ObservalArray,那么当我更改基础ObservalArray时,敲除的绑定是如何更新的。这里有一个小提琴的例子:

敲除是否在绑定时确定特定绑定是否解析为ObservableArray,即使是通过其他函数?如果是这样,链中是否可以有任意数量的此类函数


理解这一点的任何帮助都是非常感谢的。

绑定实际上是在用于跟踪依赖关系的计算可观察对象中执行的。因此,如果您调用一个访问可观察对象的函数,那么它们将构成该元素绑定的依赖关系。当依赖项更改时,绑定将再次运行


这篇文章更详细一些:

绑定实际上是在用于跟踪依赖关系的计算可观察对象中执行的。因此,如果您调用一个访问可观察对象的函数,那么它们将构成该元素绑定的依赖关系。当依赖项更改时,绑定将再次运行


这篇文章更详细一点:

这是一篇非常有用的文章,关于fork的一点很有趣,fork为每个绑定提供了独立的计算观察值。我的应用程序变得越来越复杂,我需要开始密切关注它到底做了多少击倒工作。非常感谢。这是一篇非常有用的文章,关于fork的每一个绑定都有独立的计算可观测值,这一点很有趣。我的应用程序变得越来越复杂,我需要开始密切关注它到底做了多少击倒工作。非常感谢。