如何在骨干.js中进行自定义模型数据解析?

桑普斯波特

使用主干命中api时,我发现我只需要在响应中包含一些数据即可。除了不需要的对象数据外,网络服务器还给我返回了元数据。

以下解决方案有效,但感觉不正确。有这样做的标准方法吗?

var accountsCollection = new AccountsCollection();

accountsCollection.fetch({success : function(collection){
    var results = new AccountsCollection();
    collection.each(function(item){
        results.add(new AccountModel({
            id: item.toJSON().result[0].id,
            messageText: item.toJSON().messageText,
            address1: item.toJSON().result[0].address1,
            address2: item.toJSON().result[0].address2
        }));
    });

    onDataHandler(results);
}});

编辑:这是我基于公认答案的最终解决方案:

    parse: function(response) {
        var accounts = [];
        _.each(response['result'], function (account) {
            accounts.push(account);
        });
        return accounts;
    }
cr0

您可以尝试重写该Backbone.Collection.parse方法,并做一些疯狂的下划线操作。不知道它是否适合您的数据。

var keysILike = ['foo', 'bar'];

AccountsCollection.extend({
  parse: function(response) {
    return _.compact(_.flatten(_.map(response, function (model) {
      var tmp = {};
      _.each(_.keys(model), function (key) {
        if (_.contains(keysILike, key)) tmp[key] = model[key];
      })
      return tmp;
    })));
  }
});

关于@Sushanth的强大功能,您一定要使用以下解决方案:

var keysILike = ['foo', 'bar'];

AccountsCollection.extend({
  parse: function(response) {
    _.each(response, function (model) {
      _.each(_.keys(model), function (key) {
        if (!_.contains(keysILike, key)) delete model[key]
      })
    });
    return response;
  }
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在骨干js中使用cluetip

来自分类Dev

如何在骨干js中解析视图中的消息

来自分类Dev

如何在数据表中进行自定义日期排序?

来自分类Dev

如何在数据表中进行自定义排序?

来自分类Dev

如何在引导数据表中进行自定义过滤器选项?

来自分类Dev

如何在骨干网中重新渲染部分模型?

来自分类Dev

如何在骨干网中重新渲染部分模型?

来自分类Dev

如何在语义UI中进行自定义验证?

来自分类Dev

如何在标题中进行自定义导航

来自分类Dev

如何在NestJS管道中进行自定义响应

来自分类Dev

如何在骨干JS视图上使用事件

来自分类Dev

如何在骨干.js中编写事件的单元测试

来自分类Dev

如何在Flask Admin中的“多对多”关系中的模型视图中进行自定义查询?

来自分类Dev

如何在Flask Admin中的“多对多”关系中的“模型视图”中进行自定义查询?

来自分类Dev

如何在骨干js中侦听模型中的其他模型事件?

来自分类Dev

骨干模型中的自定义属性

来自分类Dev

我如何在骨干网js的路由器中检查模型的属性?

来自分类Dev

如何在Wordpress tax_query中进行部分匹配以进行自定义分类

来自分类Dev

如何将自定义方法添加到骨干模型?

来自分类Dev

如何在骨干网中调用父模型的默认方法

来自分类Dev

如何在骨干网中调用父模型的默认方法

来自分类Dev

如何在调用fetch时跳过骨干模型中的parse函数调用

来自分类Dev

如何在android textview中进行文本对齐,同时使用自定义字体样式?

来自分类Dev

如何在Rails中进行任何资产预编译之前运行自定义代码?

来自分类Dev

ActiveRecord(Rails):如何在无关联的Rails中进行自定义(SQL)连接?

来自分类Dev

如何在ASP.NET Core 3.1 MVC中进行自定义路由

来自分类Dev

在PyCharm中进行调试时,如何在文件中添加自定义命令前缀?

来自分类Dev

如何在keras中进行自定义回调以在VAE培训中生成示例图像?

来自分类Dev

如何在Angular的ejs-dropdownlist中进行CSS自定义

Related 相关文章

  1. 1

    如何在骨干js中使用cluetip

  2. 2

    如何在骨干js中解析视图中的消息

  3. 3

    如何在数据表中进行自定义日期排序?

  4. 4

    如何在数据表中进行自定义排序?

  5. 5

    如何在引导数据表中进行自定义过滤器选项?

  6. 6

    如何在骨干网中重新渲染部分模型?

  7. 7

    如何在骨干网中重新渲染部分模型?

  8. 8

    如何在语义UI中进行自定义验证?

  9. 9

    如何在标题中进行自定义导航

  10. 10

    如何在NestJS管道中进行自定义响应

  11. 11

    如何在骨干JS视图上使用事件

  12. 12

    如何在骨干.js中编写事件的单元测试

  13. 13

    如何在Flask Admin中的“多对多”关系中的模型视图中进行自定义查询?

  14. 14

    如何在Flask Admin中的“多对多”关系中的“模型视图”中进行自定义查询?

  15. 15

    如何在骨干js中侦听模型中的其他模型事件?

  16. 16

    骨干模型中的自定义属性

  17. 17

    我如何在骨干网js的路由器中检查模型的属性?

  18. 18

    如何在Wordpress tax_query中进行部分匹配以进行自定义分类

  19. 19

    如何将自定义方法添加到骨干模型?

  20. 20

    如何在骨干网中调用父模型的默认方法

  21. 21

    如何在骨干网中调用父模型的默认方法

  22. 22

    如何在调用fetch时跳过骨干模型中的parse函数调用

  23. 23

    如何在android textview中进行文本对齐,同时使用自定义字体样式?

  24. 24

    如何在Rails中进行任何资产预编译之前运行自定义代码?

  25. 25

    ActiveRecord(Rails):如何在无关联的Rails中进行自定义(SQL)连接?

  26. 26

    如何在ASP.NET Core 3.1 MVC中进行自定义路由

  27. 27

    在PyCharm中进行调试时,如何在文件中添加自定义命令前缀?

  28. 28

    如何在keras中进行自定义回调以在VAE培训中生成示例图像?

  29. 29

    如何在Angular的ejs-dropdownlist中进行CSS自定义

热门标签

归档