javascript - 使用 Knockoutjs 即时更新后端

标签 javascript web knockout.js

我正在尝试创建一个带有表单的网页,一旦用户更改任何字段,验证和更新立即提交,而不是让用户单击提交按钮。我正在使用 Knockout.js 和映射插件。我知道我可以通过为每个原始字段创建一个计算字段来实现这一点,但这种工作既乏味又愚蠢,是否有好的做法来创建一个通用监听器来监听任何字段中的任何变化并分别更新后端?

最佳答案

为了订阅任何更改,您可以使用 ko.toJS() 方法。实际上,它允许遍历对象图并打开可观察对象。正如您可能知道的那样,当您使用 ko.computed 时,它会订阅所有可观察字段的读取并重新评估每个更改。因此,如果您使用这样的代码:

ko.computed(function() {
   ko.toJS(viewModel);
   // update data on server
});

另外请注意,这段代码会在初始化后立即更新服务器上的数据。它可以很容易地避免。请检查此示例:http://jsfiddle.net/UAxXa/embedded/result/

此外,我认为您可能只想将更改后的数据发送到服务器。您可以合并 ko.editbales 插件 ( https://github.com/romanych/ko.editables ) 和一些 KO 底层知识。请检查此样本:http://jsfiddle.net/romanych/RKn5k/

希望对您有所帮助。

关于javascript - 使用 Knockoutjs 即时更新后端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9306637/

相关文章:

javascript - player.mute() 在 YouTube API 中无法使用播放列表

javascript - 关于电子商务跟踪的 Google 分析未显示任何内容

java - 动态包含 HTML 页面会出现页面未找到错误

javascript - 从下拉菜单中选择项目

javascript - 在 Knockouts JS 中对 Observable 数组进行排序

javascript - 即使将更新的值从父级传递给子级后,子级也不会呈现

javascript - 未捕获的类型错误 : Cannot read property 'setRGB' of undefined

javascript - knockout 多个数组绑定(bind)到行跨度表

javascript - jQuery悬停函数不透明动画

postgresql - 当拥有一个保留帐户和信用卡详细信息的数据库时,我需要什么样的安全性?