我负责制作一个使用本地存储的缓存层,它位于服务器和客户端之间,以降低带宽和服务器负载。
我有两个型号,'型号'和' modelContent'。它们通过ID相互连接。 填充模型,因为它应该与模型中的所有参数一起填充。 当从服务器完全获取内容时,不会填充modelContent。
我想等到modelContent拥有它的属性' body'完全填充,然后将其添加到缓存。现在,modelContent' body' -attribute只是一个空字符串(这是默认值)。
我创建了一个基本模型,模型和modelContent继承自包含读取方法的同步覆盖。这样做的原因是我读了http://engineering.linkedin.com/mobile/linkedin-ipad-using-local-storage-snappy-mobile-apps,这就是我希望它工作的方式,但有两个模型属于一起。
我在BackboneJS和Grails(项目也使用它)方面很新,所以我希望有人能指出我正确的方向。
我的基础模型:
var basic_model = Backbone.Model.extend({
sync: function(method, model, options) {
if ( method === 'read' ) {
uid = this.get("UID");
if ( uid ) {
var success = options.success;
options.success = function(resp, status, xhr) {
console.log(resp);
}
} else {
Backbone.sync(method, model, options);
}
} else {
Backbone.sync(method, model, options);
}
}
modelContent:
var MailContentItem = basic_model.extend({
urlRoot: project_webroot +'modelContent',
idAttribute: "UID",
defaults: function() {
return _.extend({}, basic_model.prototype.defaults, {
isHTML: false,
body: ""
});
}
});