Backbone Model get属性函数返回上次更新的值

时间:2015-01-06 23:51:41

标签: javascript backbone.js coffeescript

如果服务器中有可选字段,则返回JSON顶层结构。 Backbone Model似乎缓存了先前设置的值。让我们说我得到像这样的JSON

{ label:“test_label”, attr1:“test1”, attr2:“test2” }

当我说@ model.get(“label”)时,我得到“test_label”。所以稍后,如果我得到像这样的JSON

{ attr1:“test1”, attr2:“test2” }

当我查询@ model.get(“label”)时,我得到“test_label”。这是backbone.js中的已知问题吗?我做这样的事情来获取

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

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

1 个答案:

答案 0 :(得分:0)

您应该事先使用@model.clear()或(我认为更好的方式)清除模型,以确保特定模型类型的数据格式不会发生变化。返回{ label: null, ... }

稍后您可以使用@model.get("label")?

检查标签是否存在

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