2013-07-04 4 views
0

나는 이것에 대해 여러 가지 질문을 알고 있으며 그 대답을 통해 첫 번째 문제를 해결했습니다. 내 전역 네임 스페이스를 손상시키지 않고 이러한 유형의 솔루션을 사용하기로 결정했습니다. 그러나 이제는 동일한 프레임 워크와 관련된 다른 문제가 있습니다. 내 모델은 이렇게 시작합니다.backboneJS + backbone-relational + requireJS를 사용하여 자체 중첩 모델 만들기

define([ 
'backbone', 
'backbone.relational' 
], function(Backbone){ 

var MenuNode = function() { 
    Backbone.RelationalModel.apply(this,arguments); 
} 

var NodeCollection = function() { 
    Backbone.Collection.apply(this,arguments); 
} 

MenuNode = Backbone.RelationalModel.extend({ 
    constructor: MenuNode, 

    relations:[ 
     { 
      type: Backbone.HasMany, 
      key: "children", 
      relatedModel: MenuNode, 
      collectionType: NodeCollection, 
      reverseRelation: { 
       key: "parent" 
      } 
     } 
    ] 
}) 

NodeCollection = Backbone.Collection.extend({ 
    constructor: NodeCollection, 
    model: MenuNode, 
    url: function() { 
     return "/nodes" 
    } 
}) 

이렇게하면 내 응용 프로그램의 모델명 인 jstree가 생성됩니다. 하지만 내 질문은 내가 어떻게 api와 내 관계와 연결을 만들고 어떻게 백본을 사용하여 노드의 현재 자식을 얻는 지입니다. 나는 API를 가지고 :

nodes/   returns the root nodes in a simplified version 
nodes/id   returns the full info about node, with children and parent simplified 
nodes/id/children returns the simplified version of the children of a specific node 

을하지만 백본을 통해 특정 노드의 현재 아이를 얻을 수있는 방법? 자식을로드하고 싶지만 자식을 미리로드하지 않을 때 호출을 할 수있게하려고합니다. 임 요청을 위해 서버를 저장하려고합니다. 큰 나무를 볼 수 있기 때문에, 나무가 무거운 상태가되어 트리 전체를로드 할 수 있습니다.

더 많은 것을 명확히하기 위해 질문하십시오. 들으 앞서

답변

0

나는 나의 API를 그냥 아주 이상한 것을 알아 냈다. 내 jstree가 백본에 의해 지원되고 jstree 아약스 자체가 지원되지 않는다는 egde 사례가있었습니다. 백본에 따라보기가 필요했기 때문에 나는 그들과 서로 일하기를 원했습니다.

이 수정은 완료되었지만 관련 모델 부분에는 포함되지 않았습니다. 그것은 내 백엔드에서 노드를 직접 가리킬 때 아이들에게 서비스를 제공하여 모델을 올바르게 구축하는 데 도움이됩니다.

그래도 작동하지만 jstree는 백본을 지원하지 않습니다.

0

리터럴 관련 모델로 문자열을 사용하여이 작업을 수행 할 수 있어야한다 :

relations:[ 
    { 
     type: Backbone.HasMany, 
     key: "children", 
     relatedModel: 'MenuNode', 
     collectionType: NodeCollection, 
     reverseRelation: { 
      key: "parent" 
     } 
    } 
] 
+0

정말 문제는 아닙니다. 나는 관계를 얻지 만 문제는 그 모든 것이 모든 것의 연결을 이해하는 것이 정말로 어렵다는 것입니다. – vonGohren

+0

문자열 리터럴 없이도 잘 작동합니다. – vonGohren