【问题标题】:Backbone.js Model::set custom comparisonBackbone.js Model::set 自定义比较
【发布时间】:2023-03-11 09:56:01
【问题描述】:

下划线 _.isEqual 调用用于确定模型的属性是否在 Backbone.Model::set 中发生了变化。 _.isEqual 默认会对对象进行深度比较,但我们打算将复杂对象存储在属性中,例如其他 Backbone 模型。模型之间的深度检查总是会失败,因为内部 id 等存在差异......

在这种情况下,如果可以定义自定义比较器会很有帮助。例如,如果我只想比较子模型的属性而不是它们的所有属性,我可以为基础对象创建一个“比较”静态方法,Backbone.set 会将其传递给 _.isEqual。

有没有办法处理这种情况?

【问题讨论】:

  • 这可能对 stackoverflow.com/questions/20352846/… 有所帮助,但这意味着您可以覆盖 model.set
  • 很好的链接,我们正在沿着这条路前进,但希望有办法避免这种情况。

标签: javascript backbone.js


【解决方案1】:

您可以简单地为您的应用覆盖比较方法

【讨论】:

  • 覆盖 Backbone.Model::set 和/或 _.isEqual?团队正在沿着这条道路前进,但我担心的是,每当 Backbone 更新时,我们都必须继续编写补丁。方法很重,插入这种tweak的地方不多
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-12-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-07
  • 2021-10-23
相关资源
最近更新 更多