2016-07-24 2 views
0

안녕하세요, 구문 분석 방법에 문제가 있습니다 !!!!!백본 JS 컬렉션 구문

당신이 백본 JS document 컬렉션의 구문 분석 방법에서 볼 수이 구문은 : 우리가 사용해야하는 이유를 알고 싶어 collection.parse (응답, 옵션)

1)/구문 분석 메서드를 재정의하고 그 주 용도는 무엇입니까?

2) 필자는 일부 기사를 읽고 파싱 방법이 클라이언트 측의 데이터 구조를 제공한다는 것을 알게되었습니다.

3) 구문 분석 메서드의 인수를 이해하는 데 정말로 문제가 있습니다. - 옵션은 무엇입니까 ??

두 매개 변수를 사용하여 구문 분석 방법을 사용하는 예를 제공 할 수 있습니까?

감사합니다.

답변

1

워드 프로세서 좋은 요약이 있습니다 모음의 모델을 가져 오기에, 서버에서 반환 될 때마다

구문 분석이 백본에 의해 호출됩니다. 이 함수는 원시 응답 객체를 전달 받고 컬렉션에 추가 할 모델 속성의 배열을 반환해야합니다. 기본 구현은 no-op이며 JSON 응답을 전달합니다.

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

1) 모델의 배열을 반환해야 속성. JSON 응답에이 것이있는 경우 아무 것도 할 필요가 없습니다. 일반적으로 구문 분석 재정의 (parse override)는 JSON 개체의 오른쪽 부분을 가리키는 데 사용됩니다. 예를 들어 사용자의 응답은 다음과 같이 인 경우 :

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

당신이 data 키를 가리 키도록 parse를 오버라이드 (override) 할 필요가 : 그들은 response 인수했다 물체 것을 의미

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

2) 서버가 리턴합니다.

3) 두 번째 options arg는 .fetch 호출로 전달 된 options입니다. URL, HTTP 메소드 또는 가져 오기 위해 전달할 수있는 다른 로직 (예 : jQuery.ajax 옵션 및 일부 백본의 경우 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; 
}