我有一个休息 API,它能够生成具有空值的对象键。
此空值未显示在 model.attributes 中。
这里有一个例子:
服务器可以产生{id: 1, attr: "someValue"}
或{id: 2, attr: null}
现在,如果我运行以下代码,一切正常:
m = new MyModel({id: 1});
m.fetch();
m.get("attr"); // "bar";
m = new MyModel({id: 2});
m.fetch();
m.get("attr"); // undefined;
如果我运行以下命令,我的视图中的渲染功能会出现问题。
要了解原因,请查看以下代码:
m = new MyModel({id: 1});
m.fetch({
success: function () {
m.get("attr"); // "bar";
}
});
m = new MyModel({id: 2});
m.fetch({
success: function () {
m.get("attr"); // "bar"; // actually it should be undefined or null
}
});
我的问题是:
1)为什么我会得到这种行为?
2)我该如何解决?