Backbone JS 集合解析

Backbone JS collection parse

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

正如您在 backbone js document 中看到的那样,集合中的解析方法具有以下语法: collection.parse(响应,选项)

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

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

3) 我真的很难理解 parse 方法的参数。 - 选项 的用途是什么?

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

谢谢!

文档有一个很好的总结:

parse is called by Backbone whenever a collection's models are returned by the server, in fetch. The function is passed the raw response object, and should return the array of model attributes to be added to the collection. The default implementation is a no-op, simply passing through the JSON response.

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

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

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

然后你需要覆盖 parse 以指向 data 键:

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

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

3) 第二个 options arg 是传递给 .fetch 调用的 options。你不需要担心它,除非你想根据 URL、HTTP 方法或任何其他可以传递给 fetch 的特定逻辑(以及 jQuery.ajax 选项和一些 Backbone 像 reset).

4)

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

  return response;
}