5
我不想覆蓋Backbone.sync()
,因爲我的一些模型實際上會使用標準sync()
。直接從模型中覆蓋fetch()和save()是不是很好的做法?
直接從模型中覆蓋fetch()
和save()
是不是很好的做法?
我不想覆蓋Backbone.sync()
,因爲我的一些模型實際上會使用標準sync()
。直接從模型中覆蓋fetch()和save()是不是很好的做法?
直接從模型中覆蓋fetch()
和save()
是不是很好的做法?
不需要全局覆蓋sync
。您可以按照型號/系列完成,即:
var MyModel = Backbone.Model.extend({
sync: customSync,
...
});
這樣可以避免全局覆蓋Backbone.sync。
現在,如果您不需要實施完全同步,例如您只需要覆蓋fetch
,那麼您當然也可以在每個型號的基礎上執行此操作。
大概你已經看到了由localStorage版本覆蓋的Backbone.sync。這確實沒有必要(我認爲這是不好的做法)。只需定義自定義sync
函數並讓模型/集合使用它就足夠了。
如果不想覆蓋'Backbone.sync()',你總是可以覆蓋'MyModel.sync()'。如果你去重寫'MyModel.fetch()'和'MyModel.save()',那麼你可能也必須覆蓋'MyModel.destroy()'。無論如何,我認爲一切都取決於你的理由不使用標準_sync_方法? – fguillen 2012-08-05 14:33:31
@fguillen我的一些模型將使用localStorage,而其他一些將使用服務器端保存... – 2012-08-05 14:34:44
然後我會重寫'MyModel.sync()',是否應該有用於Backbone的LocalStorage的實現。 – fguillen 2012-08-05 15:24:57