我一直在玩KnockoutJS,并且非常喜欢它通过防止物质从裂缝中掉落而从各个角度简化设计。我的问题是将数据保存回服务器的推荐“最佳实践”是什么?我的理解是,在连接的MVVM中,第一个“M”是数据层,因此ViewModel触发器中的依赖关系跟踪和通知直接保存回数据层。在JavaScript应用程序中,我们断开连接并使用AJAX有选择地保存回服务器。
我目前正在使用它的应用程序是MVC3,我绝对得到如何在我的控制器上编写“保存”操作,在我的页面上某处“保存”按钮,将整个ViewModel发布到该Save操作,然后坚持到数据库。但是当你进行快速编辑然后再次保存时呢?或者如果保存按钮不适合设计流程怎么办?相反,您希望每次在没有保存按钮的表单上进行更改时发布到操作?我反复提出的想法是:
我希望有一些我没有想过的好主意。能够以声明方式绑定所有内容并仍然有效地保存 会很棒。
答案 0 :(得分:5)
我刚从Mix11回来,在那里我参加了关于Knockout.js的this session。看史蒂夫·桑德森(Steve Sanderson)制作一个完整的CRUD演示版可能是值得的。
答案 1 :(得分:0)
我唯一能想到的是subscribing。当我第一次开始阅读你的帖子时,我正在考虑标志w / grep。
编辑:更好的是,ko.utils.compareArrays
看起来很有希望。
Here's一个工作实例..
唯一要做的就是检测“保留”值的值的变化。你很顺利。
答案 2 :(得分:0)
你可以查看Knockout的Mapping插件,它可以让你从JSON数组加载Knockout。如果它不是太大,则在计时器上(或更改后)将该数组保存到服务器。希望这有帮助,对不起,如果你已经知道这一点。