如果服务器中有可选字段,则返回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的初学者,当我查询最新返回的模型中不存在的字段时,我该怎么办?我不会得到更旧的值?感谢您的帮助
答案 0 :(得分:0)
您应该事先使用@model.clear()
或(我认为更好的方式)清除模型,以确保特定模型类型的数据格式不会发生变化。返回{ label: null, ... }
稍后您可以使用@model.get("label")?
如果您无法确保整个请求中的数据完整性,请清除模型。