【问题标题】:Convert AJAX callback data to Backbone model将 AJAX 回调数据转换为 Backbone 模型
【发布时间】:2015-07-01 00:49:34
【问题描述】:

有没有办法将成功回调data 转换为 Backbone 模型? 这些是我所拥有的:

App.Models.Image = Backbone.Model.extend({
  idAttribute : 'image_id'
});

App.Collections.Image = Backbone.Collection.extend({
  model : App.Models.Image,
  url : JSON_URL,
  fetchImage : function(model) {
    var self = this;
    var imageId = model.id, name = model.get('name');

    this.fetch({
      data : {
        packet : JSON.stringify({
          type : 'loadImage',
          param : {
            image_id : imageId,
            filename : name
          }
        })
      },
      type : 'POST',
      success : function(data) {    
        var `view` = new App.Views.Image({
          model : data
        });

        view.render();
      },
      error : function() {
      }
    });
  }
});

查看成功函数,我声明了带有回调data 的视图作为其模型。 然而,当程序调用渲染函数时,模型显示为[Object](基于console.log),所以我假设data作为对象传递,而不是主干模型。

注意: App.Collections.Image 依赖于另一个集合。它工作正常,无需担心。

【问题讨论】:

    标签: javascript jquery ajax backbone.js


    【解决方案1】:

    你应该将模型的实例传递给视图

     var `view` = new App.Views.Image({
       model : new App.Models.Image(data)
     });
    

    注意:当您获取集合并使用响应来启动模型时,我不确定您要实现什么目标。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-20
      • 1970-01-01
      • 1970-01-01
      • 2013-12-25
      • 2012-10-05
      • 2020-02-20
      • 2021-04-19
      • 1970-01-01
      相关资源
      最近更新 更多