나는 모델 모음과 모델에 대한 추가 정보가있는 backbone.js를 사용하여 상황이 발생합니다. 예를 들어, 금액 목록을 반환한다고 상상해보십시오. 수량 목록에는 각 모델과 관련된 수량이 있습니다. 각 금액의 단위가 항상 같다고 가정 해 보겠습니다. quarts. 그럼 난 다시 내 서비스에서 얻을 JSON 객체가 같은 것을 할 수 있습니다backbone.js 컬렉션에 메타 데이터 유지 및 로딩
{
dataPoints: [
{quantity: 5 },
{quantity: 10 },
...
],
unit : quarts
}
이제 백본 컬렉션은 기본적으로 컬렉션이 메타 데이터를 연관시키기위한 실제 메커니즘이 없지만,이 질문에 나에게 제안했다 : Setting attributes on a collection - backbone js 나는 .meta(property, [value])
스타일 함수를 사용하여 컬렉션을 확장 할 수 있습니다. 이는 훌륭한 솔루션입니다. 그러나 자연스럽게 우리는 위와 같은 json 응답으로부터이 데이터를 깨끗하게 검색 할 수 있기를 바라고 있습니다.
Backbone.js는 url
속성과 함께 컬렉션의 모델 목록을 추출 할 위치를 지정할 수있는 parse(response)
함수를 제공합니다. 그러나 이미 사용 가능한 부분 기능을 제거하는 fetch()
을 오버로드하지 않고보다 지능적인 기능을 만드는 방법을 알고 있습니다.
제 질문은 : fetch()
을 오버로드하는 것보다 더 좋은 옵션이 있습니까 (달성하기 위해 수퍼 클래스 구현이라고 부릅니다).
감사
개인적으로
를 호출하지 않습니다 parse와 같은 Models의 모든 속성을 재정의 할 수 있습니다. 컬렉션에 메타 데이터가 있어야 의미가있는 경우 메타 콜렉션 솔루션 인 IMO를 사용하여 '대역 외'로 이동하는 대신 Backbone이 제공하는 객체 구조에 메타 데이터를 반영 할 수 있습니다. – Stoive
이것은 나에게 매우 합리적 인 것 같습니다. 이것의 핵심은 모델 객체와 컬렉션에서 parse/url/fetch를 재정의 할 수 있다는 것입니다. 고마워. – idbentley
Collection.refresh()가 더 이상 사용되지 않으므로 대신 Collection.reset()을 사용하십시오. – JMWhittaker