如何构建嵌套的backbone.js模型,这些模型可以被不同的底层同步方法重用
How to build nested backbone.js models that can be re-used with different underlying sync methods
我正在构建一个javascript重型应用程序,向用户呈现两种不同的视图。一个视图是通过我自己的应用程序的web界面,因此可以使用RESTful API进行连接,另一个视图是在OpenSocial小工具中(因此使用OpenSocial API获取和检索数据)。
到目前为止,我所做的是有一组通用的模型/视图,我可以在web界面和opensocial小工具之间重用,并使用mixin来替换opensocial小工具的同步方法。
。
MyBaseModel = Backbone.Model.extend({
... typical backbone model
});
MyOpenSocialMixin = {
sync: function(...) {
// Sync via opensocial here
}
};
myOpenSocialModel = MyBaseModel.extend(MyOpenSocialMixin);
myOpenSocialModel.sync(); // works on opensocial
myAppModel = new MyBaseModel();
myAppModel.sync(); // works on the normal interface
这对于单个模型非常有效,但对于嵌套模型不起作用(例如,如果MyBaseModel包含许多mysubmodel)。处理这种情况的最佳实践是什么?我的嵌套模型应该继承它们父模型的sync()方法吗?有没有更好的设计模式?
在子类的构造函数中,传递父类的SYNC方法当然是可能的。如果该方法未绑定,则可以像Backbone一样将其复制到子类中:
def initialize(attributes, options) {
_.extend(this, {sync: options.parent.sync});
}
相关文章:
- 在 Backbone.js 中创建自定义“同步”方法
- 如何将嵌套_.each转换为同步方法?首选使用 Promise 或 Async.waterfall
- 骨干.js 3路模型同步
- CanJs 模型服务方法实现
- 主干本地存储不使用良好的同步方法
- 在模型同步时发送带有 json 的 API 密钥
- 如何在 Javascript 中编写阻塞同步方法
- 如何从骨干中的集合调用模型的方法.js
- 将模型属性方法发送到客户端 Sails Angular
- Javascript:在Javascript代码中使用来自模型的方法
- 骨干.模型没有方法'延伸'
- 角度:为ng模型提供方法
- 如何调用父主干同步方法
- 如何在一个backbone.js模型同步中合并多个json请求
- 对于node.js中的本地文件,我应该使用异步文件IO方法而不是同步方法吗?
- 覆盖骨干网中的同步方法
- 同步方法和异步方法的区别是什么?
- 使用backbonejs和jquery将模型同步到asp.net服务器
- 如何构建嵌套的backbone.js模型,这些模型可以被不同的底层同步方法重用
- Backbone.js模型同步——where set方法