2013-02-22 5 views
1

작업과 같은 모델 (제목, 시간, 메모 등의 기본 속성을 가짐) 및 작업 목록과 같은 컬렉션이 있습니다. 이제 단일 작업에 여러 노트가있을 수 있습니다. 모델 및 컬렉션을 채우기 위해 REST API (JSON)가 있습니다. 모든 작업 (쉬운 작업, 메모 무시)을 나열한 다음 작업 (메모 포함)을 표시해야합니다.백본 | 모델 및 조작의 배열

여기에서 백본의 것 같은 중첩 루프를 구현하는 것 같습니다. 모델을 채우고 모든 노트로 작업을 표시하려면 어떻게해야합니까? 모델, 콜렉션, 뷰 및 템플릿을 다루기로되어 있습니다. 나는 순수한 편안한 구현에 가정

감사

답변

0

당신은 모델 Task, Note와 컬렉션 TaskList, TaskNotes 있습니다.

는 처음에만 작업이 서버에서로드 할, 그래서 당신은이 모든 작업이 서버와 동기화 할 수 있지만 아직 컬렉션에는 작업 모델은 메모를 포함하지 기대 tasklist.fetch()

이동합니다.

사용자가 작업을 선택하면 새로운 TaskNotes 인스턴스를 생성하여 부모 작업 모델에 저장합니다 (저장하지 않을 때 모든 속성이 백본에 의해 서버에 전달되므로 속성이 아닌).

쉽지 않을까요?


실제 문제는 모든 호출 (모든 작업, 모든 중첩 된 노트)을 단일 호출에서 가져오고 초기화해야하는 경우입니다. 백본이 중첩 컬렉션/모델을 다루지 않기 때문에 다소 까다 롭습니다. 서버에서 반환 된 JSON의 모든 속성은 일반 속성으로 간주됩니다. backbone-relational과 같은 것으로 보거나 Model.parse 메서드를 재정의해야합니다.

한 통화로 모든 것을 가져 오는 것이 좋습니다. 이는 너무 많은 데이터이고 사용자는 모든 데이터를 한 번에 볼 수 없습니다. 주문형 즉 사용자가 작업을 선택하고 메모를 가져 오는 것이 좋습니다.

+0

감사합니다. nEEbz, 실제로 이것은 내가 생각하고 있던 것이지만 구현 방법을 알아낼 수는 없습니다. 두 가지 다른 시각 (하나는 메모 용이고 다른 하나는 작업 세부 정보)과이를 결합하는 방법이 필요하다는 뜻입니다. 이들을 결합하는 것은 문제가되지 않지만 사용자는 작업에 다른 메모를 추가 할 수 있습니다. 그런 다음 새로 추가 한 노트가 어떤 작업으로 링크되었는지에 대한 세부 정보를 어떻게 넣을 수 있습니까? –

+0

부모보기의 참조를 저장해야합니다. 'Note' 모델이 부모'Task'에 대한 참조 (또는 id)를 갖는 것과 같습니다. 마찬가지로'AddNote' 뷰는 부모 태스크에 대한 참조를 가질 것입니다. 사용자가 메모를 추가하면이를 상위 작업에 추가합니다. – neebz