我一直在广泛使用 Knockout.js,但是我经常使用一种模式,我想了解它的实际工作原理。
通常我会有一些视图模型的 ObservableArray,例如 productModule.products()。然后,我将拥有各种过滤器函数,例如 productModule.getAvailableProducts(),它使用数组过滤器(我目前使用 Underscore.js)返回一个子集,该函数就是绑定到 UI 的函数。我不太明白的是,鉴于这些函数返回标准数组而不是 ObservableArray,当我更改底层 ObservableArray 时,Knockout 的绑定仍然会更新。这是一个示例小提琴:
即使通过其他函数,Knockout 是否在绑定时确定特定绑定是否解析为 ObservableArray?如果是这样,链中是否可以存在任意数量的此类函数?
非常感谢任何有助于理解这一点的帮助。