在ExtJS中,调用Model.save()还是Store.Sync()更好?

12

每种选择的影响是什么?

我发现例如Model.save()会自动从服务器刷新模型以显示结果,但我不确定sync()是否这样做。


请标记已回答的问题为已接受。 - dbrin
1个回答

19

自动从服务器刷新模型结果

Store.sync() 也会刷新修改后的记录(前提是你已正确设置了服务器响应)。

因此,从技术上讲,这两种方法都是相同的。但在我看来,你只能在一个情况下使用Model.save():当你没有store时。为什么呢?因为当你有了store却仍然使用Model.save(),那就意味着你已经为storemodel设置了连接(代理)配置。这意味着你有重复的代码,这可能更难维护。

因此,总结一下,在只有独立模型而没有存储器的情况下,您可以使用Model.save()。(例如对于未连接到任何网格的form,您需要为此类表单创建独立模型),而在其他情况下则使用Store.sync()


Store.sync() 函数期望什么样的响应是成功的,什么样的是错误的? - Umair A.
1
@UmairAshraf,它期望以与读取器相同的格式提供修改记录列表。此外,响应可能包含“success:true”和“message”。请查看此示例中的请求-响应:http://dev.sencha.com/deploy/ext-4.1.0-gpl/examples/writer/writer.html - Molecular Man
2
你也可以在模型上定义一个代理,这样就可以消除重复的代码,对吧? - stambikk

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接