Javascript 从服务器的获取响应中排除时删除属性主干模型
我意识到这有点不标准,但我正在寻找一种方法,这样我就可以使用主干的fetch方法从服务器上删除json响应中未包含的模型属性。基本上是排除属性的自动取消设置 现在,我可以擦除所有内容并在模型上重新设置,但我希望这样做不会触发其余属性的更改事件 我还希望不必循环响应对象并调用unset。是否有一个明显的主干特征是我所缺少的 我为这个场景设计了一把小提琴。尝试通过所有测试,同时仅修改model.fetch行Javascript 从服务器的获取响应中排除时删除属性主干模型,javascript,backbone.js,underscore.js,Javascript,Backbone.js,Underscore.js,我意识到这有点不标准,但我正在寻找一种方法,这样我就可以使用主干的fetch方法从服务器上删除json响应中未包含的模型属性。基本上是排除属性的自动取消设置 现在,我可以擦除所有内容并在模型上重新设置,但我希望这样做不会触发其余属性的更改事件 我还希望不必循环响应对象并调用unset。是否有一个明显的主干特征是我所缺少的 我为这个场景设计了一把小提琴。尝试通过所有测试,同时仅修改model.fetch行 我刚刚查看了一下,似乎Modelfetch没有重置标志。不过,你可以用沉默的旗帜来解除沉默。
我刚刚查看了一下,似乎Modelfetch没有重置标志。不过,你可以用沉默的旗帜来解除沉默。自0.9.10以来,主干网的行为应该会让您满意,我想: 在change上传递{silent:true}将不再延迟单个change:attr事件,相反,它们将被完全沉默
var mockResponse = '{ "id": 1 }';
this.server.respondWith("GET", "/test", [
200,
{ "Content-Type": "application/json" },
mockResponse
]);
var model = new MyModel({ foo: 'remove me', keep: true });
model.on('change:keep', function () {
ok(false, 'Failure! Do not trigger change on this if at all possible.');
});
// Act
model.fetch(); // Need a flag here?
this.server.respond();
// Assert
equal(model.get('foo'), undefined, 'I want this removed via fetch');