gpt4 book ai didi

backbone.js - collection.fetch({add :true}) work?

转载 作者:行者123 更新时间:2023-12-04 02:51:14 25 4
gpt4 key购买 nike

我将模型添加到集合中,并进行了model.save数据保存在服务器上。

之后,我调用collection.fetch({add:true})。理想情况下,应该仅从服务器返回一种模型,即新添加的模型,但是我看到整个集合都在chrome开发人员工具中传播回去。

我糊涂了。这实际上如何工作?

最佳答案

作为Cyril N.的答案的一个附件(基本上描述了默认行为,我想应该足够了),我想更彻底地解释这3个标志的作用:

  • add:Backbone是否应创建尚不存在的模型并将其添加到集合中(即,其ID不在集合中)
  • remove:Backbone是否应从集合中删除未从服务器带回的模型(即,其ID不是带回的数据)
  • merge:Backbone是否应更新不在前两个类别中的模型(已在集合中,并从服务器带回)

  • 但是,我想进一步扩展该方法的一般行为(它使用 Collection#set方法作为回调,因此更多是 Collection#set的行为)。 Backbone 将准备模型,这意味着它将在方法开始时创建伪造的易失模型(如果未添加它们,则只会是易失的)。这可能导致意外的行为:因为它创建了模型,所以将执行这些模型的initialize方法。

    另外,作为一个旁注,从Backbone 1.0开始,如果要在获取时重置集合(因此使用此方法作为回调),则引入了 Collection#reset标志。在此之前,它是 Collection#fetch方法的默认行为。

    好吧,有了这两个答案,我应该知道您需要的所有信息。

    关于backbone.js - collection.fetch({add :true}) work?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15943008/

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