gpt4 book ai didi

backbone.js - Backbone.Model.save并且不更新客户端

转载 作者:行者123 更新时间:2023-12-03 09:27:03 24 4
gpt4 key购买 nike

我想在 Backbone 模型上调用 save 并将数据写入服务器,但更新客户端。我该怎么做?

澄清一下:当 Backbone 保存模型时,它将所有数据发送到服务器,然后从服务器检索数据并在客户端上更新。第二步是我不希望发生的事情。

进一步澄清:模型(“父”模型)有一个属性,该属性本身就是一个模型(“子”模型);当它保存到服务器时,该子模型将转换为 JSON。当父模型在保存后更新时,先前包含对子模型的引用的属性将替换为已保存的子模型的已解析 JSON 对象。这是我不需要发生的事情。

当数据最初从服务器中提取时,父模型会将该对象“重构”为适当的子模型,但这是一个昂贵的过程,没有理由重新执行此操作每次保存都会在父模型上触发,因为子模型永远不会改变。

最佳答案

听起来当您在 model.save 上收到服务器的响应时,您不想解析您的模型

您可以尝试以下操作:

model.save(attributes,{
success: function() { ... },
parse : false // This will be passed to your parse function as an option
});

您必须在相应的模型中设置解析函数,如下所示:

parse: function(resp,options) {
// don't update model with the server response if {parse:false} is passed to save
if (options && !options.parse) return;

/ ... rest of your parse code ... /

Backbone 目前默认 options.parsetrueHere是关于该主题的简短讨论。

正如该线程中所讨论的,也许您需要考虑为什么您不想更新对客户端的服务器响应。可能有一种更干净的方法来实现您想要的结果。

关于backbone.js - Backbone.Model.save并且不更新客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18243514/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com