Javascript knockout.js和具有现有getter/setter的视图模型(不可观察)

Javascript knockout.js和具有现有getter/setter的视图模型(不可观察),javascript,mvvm,knockout.js,Javascript,Mvvm,Knockout.js,js似乎针对对象/字段绑定进行了优化,可以用来创建getter/setter函数 但是,如果我想要绑定到的视图模型的成员已经是getter/setter函数呢?将这两种方法集成起来的最简单方法是什么 var example = { FirstName: function(/* setValue */) { ... }; LastName: function(/* setValue */) { ... }; ArrayOfSomething: function(index

js似乎针对对象/字段绑定进行了优化,可以用来创建getter/setter函数

但是,如果我想要绑定到的视图模型的成员已经是getter/setter函数呢?将这两种方法集成起来的最简单方法是什么

var example = {
    FirstName: function(/* setValue */) { ... };
    LastName: function(/* setValue */) { ... };
    ArrayOfSomething: function(index /*, setValue */) { ... };
}
我是否必须创建一个(看起来很复杂)或是有其他机制


对于
ArrayOfSomething
,这将如何工作?

是否有一些原因您不想让它们成为
ko。可观察的
?视图模型来自不同的库-基本上我无法控制。我建议您制作自己的视图模型(使用ko)来包装它们。它会帮你省去很多麻烦,但这会破坏绑定的好处不,事实并非如此。绑定的好处是:1)确保UI上表示的数据(尤其是在多个位置)与基础模型保持一致;2)确保相关更改自动级联;3)确保所有数据都在一致的模型中(单个位置)。KO viewmodel仍然具有所有这些好处,另外还有一个好处,就是在您的控制下,这对于开发软件的人来说是一个无价的好处。事实上,MVVM通常建议您创建自己的viewModel来包装域模型。这也没什么不同。有什么原因你不想让它们
ko。可观察的
?视图模型来自不同的库-基本上我无法控制。我建议你制作自己的视图模型(使用ko)来包装它们。它会帮你省去很多麻烦,但这会破坏绑定的好处不,事实并非如此。绑定的好处是:1)确保UI上表示的数据(尤其是在多个位置)与基础模型保持一致;2)确保相关更改自动级联;3)确保所有数据都在一致的模型中(单个位置)。KO viewmodel仍然具有所有这些好处,另外还有一个好处,就是在您的控制下,这对于开发软件的人来说是一个无价的好处。事实上,MVVM通常建议您创建自己的viewModel来包装域模型。这也不例外。