主干模型获取属性函数返回上次更新的值

Backbone Model get attribute function returns last updated value

本文关键字:更新 返回 函数 模型 获取 属性      更新时间:2023-09-26

如果服务器中有可选字段,则返回 JSON 顶部结构。主干模型似乎缓存了先前设置的值。假设我得到这样的 JSON

{标签:"test_label",attr1: "test1",ATTR2:"测试2"}

当我说@model.get("标签")时,我得到"test_label"。所以以后,如果我得到这样的 JSON

{attr1: "test1",ATTR2:"测试2"}

当我查询@model.get("标签")时,我得到"test_label"。这是骨干网中的已知问题吗.js?我做这样的事情来获取

@modelXhr = @model.fetch
  success: (-> this.trigger('reset')).bind @model

我是javascript/coffeescript的初学者,当我查询最新返回的模型中不存在的字段时,我该怎么办,我不会得到较旧的值?感谢您的帮助

您应该

事先使用@model.clear()清除模型,或者(在我看来更好的方法)确保特定模型类型的数据格式不会更改。退货{ label: null, ... }

然后,您可以使用@model.get("label")?检查标签是否存在

如果无法确保整个请求中的数据完整性,请清除模型。