2012-02-09 3 views
0

약간 혼란 스럽지만 여기에 붙여 넣을 코드가 없지만 도움이됩니다. 백본을 사용하여 가상 설정을 할 때 문제가 발생했습니다. 이들은 미리 설정되어 : 메시지의 사서함JSON 데이터의 백본 사용자 정의 모음

  • 우체국 = 수집
  • 사서함
  • 메시지 = 수집
  • 메시지
  • 사서함 모델은 미리 설정된 속성의 하나로서 빈 "메시지"컬렉션이 있습니다 지금

나는 다음과 같은 경우

,
postoffice.add([ 
{ 
    "id": "mailbox1", 
    "messages": [ 
     { 
      "id": "message1" 
     }, 
     { 
      "id": "message2" 
     } 
    ] 
}, 
{ 
    "id": "mailbox2", 
    "messages": [ 
     { 
      "id": "message1" 
     }, 
     { 
      "id": "message2" 
     } 
    ] 
}, 
{ 
    "id": "mailbox2", 
    "messages": [ 
     { 
      "id": "message1" 
     }, 
     { 
      "id": "message2" 
     } 
    ] 
} 
]) 

각 빈 Mailbox.messages 컬렉션에 JSON 데이터에서 생성 된 메시지 모델이 채워질 것으로 예상됩니다. 실제로는 각 사서함에서 메시지 데이터를 가져 오는 새로운 "컬렉션"특성을 얻습니다. 그러나 기본 콜렉션 안의 모델은 Message 모델 구조를 갖지 않으므로이 기능은 저에게 적합하지 않습니다.

JSON 개체의 배열을 올바른 사전 설정 컬렉션 유형에 매핑 할 수있는 방법이 있습니까?

답변

1

무엇이 도움이 될지 생각해보십시오. Backbone Relational입니다. 다른 모델 간의 관계를 정의 할 수 있습니다. 각에 대한 Messages 백본 컬렉션이 것이함으로써

initialize: function(attr, options) { 
    this.Messages= new MessagesCollection(attr.messages); 
    delete this.attributes.messages 
} 

: 당신이 당신의 자신에 무언가를 롤 찾고 있다면

, 당신은 당신의 사서함 모델에 대한 귀하의 초기화에 다음과 같은 뭔가를 할 수 PostOfficeMailbox입니다. delete 문을 사용하면 속성이 제거됩니다 ... 따라서 Mailbox.get('messages')은 더 이상 작동하지 않습니다.

+0

주셔서 감사합니다 해결 방법을 helpes

희망은 내가 그것을 필요하지 않습니다,하지만 난 더 강력한 앱, 백본 관계가 갈 수있는 방법이 될 것이라고 생각합니다. – Dan