0
我的模型中有很多屬性,在某些情況下需要清除除2或3以外的所有屬性。這是否需要遍歷所有屬性?暫時存儲2-3個屬性,清除模型,然後將它們添加回來?或者有更簡單的方法來解決這個問題嗎?我可以清除模型中的所有特定屬性嗎?
謝謝!
我的模型中有很多屬性,在某些情況下需要清除除2或3以外的所有屬性。這是否需要遍歷所有屬性?暫時存儲2-3個屬性,清除模型,然後將它們添加回來?或者有更簡單的方法來解決這個問題嗎?我可以清除模型中的所有特定屬性嗎?
謝謝!
懶惰的方法是使用clear()函數並重新添加特定的值。
如果您有(或可能在將來)列出有關更改的事件,則不必要地解除事件。
看看清澈的功能:
clear: function(options) {
var attrs = {};
for (var key in this.attributes) attrs[key] = void 0;
return this.set(attrs, _.extend({}, options, {unset: true}));
},
它並不難,這種適應自定義明確的()函數:
var myModel = Backbone.Model.extend({
// You may also override the Backbone clear function
partialClear: function(options, keep) {
var attrs = {};
for (var key in this.attributes)
if (!_.contains(keep, key)) attrs[key] = void 0;
return this.set(attrs, _.extend({}, options, {unset: true}));
},
});
然後用值數組運行partialClear保持:
this.partialClear({}, ['id', 'a', 'b']);
工程就像一個魅力。謝謝! –