我有一个用于创建表单的 JSON 对象。这个 JSON 对象由 KnockoutJS 解析。
现在,当我修改表单时,我希望根据表单中所做的修改来更新 JSON 对象。问题是我事先不知道表单会是什么样子,但我知道 JSON 对象中哪些字段需要更新。
我真的不知道最好的方法是什么。我知道每次发生变化时我都可以重建 JSON 对象,但这似乎是一个坏主意和一个乏味的过程。
有没有一种简单的方法可以将每个 JSON 对象字段映射到 KnockoutJS 中的项目?
这是我目前正在做的 JSFiddle:http: //goo.gl/ZBaV7
更新 :
我意识到这一行很有趣:
<input type="text" data-bind="value: $data.value, attr : { disabled: $data.disabled }" />
我通过($data.value)直接从数组中访问值。html中有没有办法说敲除绑定到数组中的这个特定属性。我知道如果数组重新排序,一切都会变得一团糟,但既然我知道唯一可以改变的是这个属性,我准备好承担这个风险了吗?
换句话说,有没有办法手动说当这个值改变时在数组中改变它,例如
data-bind="onChange: $data.value = this.value"