Backbone.js序列化模型属性以进行同步

lux*_*ama 4 javascript php backbone.js

我试图将包含嵌入式集合的相当复杂的模型保存回关系数据库.由于嵌入式集合返回到服务器的数据包含足够公平的对象.然而,我在现有应用程序之上构建主干应用程序,并且必须以标量形式返回值才能重用服务器端代码.关于这个的最好的是什么,我正在考虑重写模型的toJSON函数,但我真的不应该这样.所以我能想到的另一种选择是覆盖同步方法并在那里进行.然而,即使这似乎也不对.我错过了什么或者正在覆盖同步方法是必要的邪恶吗?

Ray*_*nos 8

要覆盖从数据库保存和加载模型的方式,您可以覆盖两个方法.

  1. Model.toJSON 在这里放置自定义序列化逻辑.
  2. Model.parse 在这里放置自定义反序列化逻辑.

理想情况下,您只有自定义序列化/反序列化逻辑来"优化"数据库.即如果你有一个AgeDateOfBirth字段,你只在数据库中存储一个Model.toJSON并计算另一个Model.parse.

如果需要特定于模型的自定义序列化/反序列化逻辑,则覆盖Backbone.Sync.

你也可以覆盖model.Sync.这意味着模型将使用特定的自定义Sync函数,而不是使用Backbone.Sync