Javascript 从id获取BackboneJS模型(我想)

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

我负责在服务器和客户端之间建立一个缓存层,使用本地存储,以降低带宽和服务器负载

我有两个模型,“模型”和“模型内容”。它们通过一个ID相互连接。 模型按其应有的方式填充,并包含模型中的所有参数。 当modelContent的内容完全从服务器获取时,不会填充modelContent

我想等到modelContent的属性“body”完全填充完毕,然后将其添加到缓存中。现在modelContent的“body”属性只是一个空字符串,它是默认值

我已经创建了一个基本模型,model和modelContent继承自该模型,该模型包含对read方法的同步覆盖。这样做的原因是我阅读了,这是我希望它工作的方式,但有两个模型属于一起

我对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);
    }
}
模型内容:

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关于使用调试器的帮助页面的链接: