1
有沒有辦法阻止backbone.js集合在刪除我的模型時被毀壞?如何防止在銷燬時去除模型的集合?
每次它發生了,我收到一個「刪除」觸發事件從收集
collection.on("remove", this.handleRemove)
已經嘗試通過一些參數,但沒有
model.destroy({silent: false, remove: false})
有沒有辦法阻止backbone.js集合在刪除我的模型時被毀壞?如何防止在銷燬時去除模型的集合?
每次它發生了,我收到一個「刪除」觸發事件從收集
collection.on("remove", this.handleRemove)
已經嘗試通過一些參數,但沒有
model.destroy({silent: false, remove: false})
的解決方案是重寫骨幹模型破壞功能。我在成功和回調策略的抽象模型上做了這個:
參數「數據」對應於原始參數「resp」。
destroy: function(successCallback, errorCallback)
{
var options = { wait: true };
var model = this;
successCallback = successCallback || function() {};
errorCallback = errorCallback || function() {};
var destroy = function()
{
model.trigger('destroy', model, model.collection, options);
};
options.success = function(data)
{
if ('SUCCESS' === data.responseCode)
{
if (options.wait || model.isNew())
destroy();
successCallback(data);
if (!model.isNew())
model.trigger('sync', model, data, options);
}
else
{
errorCallback(data);
}
};
if (this.isNew())
{
options.success();
return false;
}
var xhr = this.sync('delete', this, options);
if (!options.wait)
destroy();
return xhr;
}
你爲什麼要這麼做?如果事情不再存在,怎麼能收集? – Bergi
其實model.destroy仍然堅持客戶端上的對象。我想操縱它,並最終再次保存,而不創建一個新的模型,並添加到集合 – mateusmaso
我的問題是,我有一個可編輯的textarea模型視圖,當它打字我打電話POST/UPDATE,但如果文本是空的我應該刪除但不刪除視圖,因爲用戶仍然可以鍵入(在同一個視圖上創建/刪除單個模型) – mateusmaso