Javascript 从id获取BackboneJS模型(我想)
我负责在服务器和客户端之间建立一个缓存层,使用本地存储,以降低带宽和服务器负载 我有两个模型,“模型”和“模型内容”。它们通过一个ID相互连接。 模型按其应有的方式填充,并包含模型中的所有参数。 当modelContent的内容完全从服务器获取时,不会填充modelContent 我想等到modelContent的属性“body”完全填充完毕,然后将其添加到缓存中。现在modelContent的“body”属性只是一个空字符串,它是默认值 我已经创建了一个基本模型,model和modelContent继承自该模型,该模型包含对read方法的同步覆盖。这样做的原因是我阅读了,这是我希望它工作的方式,但有两个模型属于一起 我对BackboneJS和Grails非常陌生,项目也使用它们,所以我希望有人能给我指出正确的方向 我的基本型号:Javascript 从id获取BackboneJS模型(我想),javascript,caching,grails,backbone.js,local-storage,Javascript,Caching,Grails,Backbone.js,Local Storage,我负责在服务器和客户端之间建立一个缓存层,使用本地存储,以降低带宽和服务器负载 我有两个模型,“模型”和“模型内容”。它们通过一个ID相互连接。 模型按其应有的方式填充,并包含模型中的所有参数。 当modelContent的内容完全从服务器获取时,不会填充modelContent 我想等到modelContent的属性“body”完全填充完毕,然后将其添加到缓存中。现在modelContent的“body”属性只是一个空字符串,它是默认值 我已经创建了一个基本模型,model和modelCont
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);
}
}
模型内容:
var MailContentItem = basic_model.extend({
urlRoot: project_webroot +'modelContent',
idAttribute: "UID",
defaults: function() {
return _.extend({}, basic_model.prototype.defaults, {
isHTML: false,
body: ""
});
}
});
您是否可以在调试器中运行此命令,并验证您是否至少调用了一次Backbone.sync?如果不这样做,您的模型将不会有数据。@dylants如何运行调试器?使用Chrome,在查看包含主干逻辑的页面时,右键单击该页面并选择Inspect Element。切换到Sources选项卡并在代码中放置断点。刷新页面以重新加载操作。通过单步执行代码,您应该能够看到发生了什么。以下是Chrome关于使用调试器的帮助页面的链接: