Knockout.js knockoutjs:如何一次获得所有属性的通知

Knockout.js knockoutjs:如何一次获得所有属性的通知,knockout.js,Knockout.js,假设我有一个拥有100个道具的ViewModel。目前,我需要一个处理程序,将被调用,如果任何道具的变化。当然我可以写100。订阅每一处房产,但似乎有更好的方法。就像在C#中,您可以绑定到模型的PropertyChanged事件,然后根据它们的名称选择感兴趣的属性。我认为您使用的是KO 1.2.1。在这个版本中并不容易。然而淘汰赛1.3即将到来。目前它是beta版,但相当稳定。节流已在淘汰赛1.3中实施。我想这就是你需要的 您可以在此处阅读有关1.3版本的更多信息: 并检查在线样本: 如果您需要

假设我有一个拥有100个道具的ViewModel。目前,我需要一个处理程序,将被调用,如果任何道具的变化。当然我可以写100。订阅每一处房产,但似乎有更好的方法。就像在C#中,您可以绑定到模型的PropertyChanged事件,然后根据它们的名称选择感兴趣的属性。

我认为您使用的是KO 1.2.1。在这个版本中并不容易。然而淘汰赛1.3即将到来。目前它是beta版,但相当稳定。节流已在淘汰赛1.3中实施。我想这就是你需要的

您可以在此处阅读有关1.3版本的更多信息:

并检查在线样本:

如果您需要帮助,我可能会帮助您实施


我希望它正是您所需要的。

一般的答案是创建一个DependentToServable,订阅所有内容。这可以通过在DependentToServable内部执行
ko.toJS(viewModel)
来轻松实现,因为它将递归地展开所有可观察对象。您需要小心不要将自己包含在
ko.toJS
调用中,否则您可能会进入无限循环


如果您正在寻找具有更多功能的产品,请看一看。

谢谢,这篇文章很有意义。你知道我如何找到触发更改的特定属性吗?进行更改跟踪更复杂。以下是它可能如何工作的示例:。“onPropertyChanged”函数可以自定义,也可以有人自己传入。我使用ko 1.3.0测试版,但我不知道我的问题与节流有何关联。