【问题标题】:Backbone JS collection parseBackbone JS 集合解析
【发布时间】:2016-07-24 10:18:50
【问题描述】:

你好,我的解析方法有问题!!!!!

正如您在主干 js document 中看到的那样,collection 中的 parse 方法具有以下语法: collection.parse(response, options)

1) 我想知道为什么我们应该使用/覆盖 parse 方法,它的主要用途是什么?

2) 我读了一些文章,发现 parse 方法为我们提供了客户端的数据结构。

3) 我真的很难理解 parse 方法的论点。 - 选项有什么用??

你能给我一个使用带有两个参数的 parse 方法的例子吗?

谢谢!

【问题讨论】:

    标签: javascript parsing backbone.js collections options


    【解决方案1】:

    文档有一个很好的总结:

    每当服务器返回集合的模型时,Backbone 都会调用 fetch。该函数传递原始响应对象,并应返回要添加到集合中的模型属性数组。默认实现是无操作的,只是通过 JSON 响应。

    http://backbonejs.org/#Collection-parse

    1) 您应该返回一个模型属性数组。如果您的 JSON 响应只有这个,那么您不需要做任何事情。通常,解析覆盖仅用于指向 JSON 对象内部的右侧部分。例如,如果您的回复是这样的:

    {
       httpCode: 200,
       responseMessage: 'success',
       data: [ {model1}, {model2} ...]
    }
    

    那么您需要覆盖 parse 以指向 data 键:

    parse: function(response) {
      return response.data;
    }
    

    2) 他们的意思是response arg 是服务器返回的对象。

    3) 第二个options arg 是传递给.fetch 调用的options。除非您想基于 URL、HTTP 方法或任何其他可以传递给 fetch 的东西(以及 jQuery.ajax 选项和一些像 reset 这样的 Backbone 选项)做一些特定的逻辑,否则您不必担心它。

    4)

    parse: function(response, options) {
      // For some reason POST requests return a different data structure.
      if (options.method === 'POST') {
         return response.data;
      }
    
      return response;
    }
    

    【讨论】:

      猜你喜欢
      • 2023-03-06
      • 2012-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-18
      相关资源
      最近更新 更多