2013-06-02 1 views
3

시작시 가져온 메타 데이터를 사용하여 메뉴 시스템이 동적으로 빌드되는 앱이 있습니다. 이 데이터와 메뉴 선택에 따라 사용자가 검색 기준을 입력 할 수있는 "필터 상자"를 만들어야합니다. "기본"보기는 필터 상자와 검색 결과 패널로 구성되며 결과는 클래스에 따라 렌더링됩니다.은 어떤 URL도없이 모델이 될 수 있습니까?

필터 상자를 Backbone.js 모델로 모델링 할 수 있습니까? 백엔드에서 데이터를 가져 오지는 않습니다. 구성은 메뉴 선택 + 메타 데이터에만 전적으로 의존하기 때문입니다. 예 : 사용자가 "판매"메뉴를 선택하면 필터 상자에 "판매 주문 번호"가 표시 될 수 있지만 사용자가 "재료"를 선택하면 필터 상자에 다른 메시지가 표시 될 수 있습니다.

그러면이 위젯을 "기본"보기의 구성 요소로 사용하고 그 결과로 작성된 일련의 결과보기를 사용할 것입니다. 사용자가 메뉴를 선택하면이 기본보기가 기존 필터 상자를 렌더링 취소하고 새 필터를 다시 계산하고 다시 렌더링합니다. 화면의 다른 구성 요소는 필터 상자를 설정하여 해당 설정을 쿼리 할 수 ​​있습니다.

나는 지금까지 본 URL과 서버 가져 오기, 저장 등의 예제를 보았습니다. 자습서 페이지의 URL이없는 유일한 예는 "인위적인"예제라고 말합니다. 백엔드 공급자가 필요하고 프로그래밍이이 요구 사항을 준수하지 않고 잡담으로 가득 차 있는지 궁금합니다.

감사합니다.

답변

2

url 속성이 정의되지 않은 모델을 가질 수 있습니다. Backbone의 기본 구성 요소 중 하나는 Sync 개체로 데이터를 끌어 올 때, 이상적으로는 REST 끝점에서/끝낼 때 도움이됩니다. 이 작업을 수행하려면 데이터가 제공되는 위치를 알려주고 모델 또는 컬렉션에서 url 값을 설정해야합니다.

서버 통신이 필요하지 않지만 단순한 모델 또는 수집 (이벤트 처리, 필터링 등)에서 제공하는 유틸리티를 사용하려는 경우 url을 설정하지 마십시오. 이동하십시오 (예 : fetch 또는 save과 같은 메소드는 작동하지 않습니다).

+0

저장 및 가져 오기를 수동으로 다시 정의 할 수 있습니다. –

1

예. DOM 논리에도 백본을 사용할 수 있습니다. 모델은 서버의 데이터를 나타낼 필요가 없습니다. 백본의 몇 가지 기본 요소로 무엇을 하든지, 훌륭한 작업을 할 수 있다고 생각할 때 사용하십시오.

관련 문제