骨干关系id引用与backbone.marionette

时间:2012-06-27 05:28:44

标签: backbone-relational marionette

我使用backbone-relational的includeInJSON:'id'只包含相关的模型ID,以避免在整个对象树中向我的服务器端发送垃圾邮件。不幸的是,Backbone.Marionette.View默认只公开toJSON返回的视图模式的属性,这意味着视图模板中不再可以访问相关模型。

我意识到我需要一个自定义的Marionette.View serializeData。由于几乎所有模型都需要这样,我希望能够解决这个问题;即覆盖所有视图的serializeData,以便它使用骨干关系id引用做正确的事情。

有人已经做过这个吗?我对此并没有太多的希望,但是还有其他人可以使用它,所以如果没有别的东西,这将成为我编码后转储解决方案的地方。 :)

任何解决方案都需要以下选项之一:

  1. 为模型定义两个版本的toJSON,一个使用includeInJSON,另一个总是将其视为true。

  2. 只使用模型属性和基于属性的帮助程序,通过Marionette对视图模板的限制来打孔。

1 个答案:

答案 0 :(得分:0)

我使用选项#1获得了一个功能性解决方案,但这是一个我不忍心公开发布的黑客攻击。基本上,在serializeData中,我进入模型并在调用toJSON之前和之后修改_relations。没有线程安全和丑陋的哎呀。希望尽快回来并找到合适的解决方案。