2016-11-18 1 views
1

그래서 AddNodeData (nodedata) 및 addLinkData (linkdata)를 사용하여 GoJS에서 GraphLinksModel을 동적으로 작성하려고합니다. 내 문제는 예제 코드에있는 필드 이외의 nodedata 및 linkdata 필드가 무엇인지 알 수 없다는 것입니다. 내 노드와 링크 각각에 대해 Node 객체와 Link 객체를 만들 수 있지만 addNodeData와 addLinkData는 실제로 이들을 원하지 않으며 "nodedata"와 "linkdata"를 원합니다. addNodeData (Node) 할 때 오류가 발생합니다.GoJS NodeData 및 LinkData 속성 필드는 모두 무엇입니까?

여기에 addNodeData(nodedata)addLinkData(linkdata)에 대한 설명입니다. 보시다시피, 매개 변수는 아무런 힌트가없는 Object로 정의됩니다. 다른 예에서는 매개 변수가 무엇인지에 대한 예입니다. 어떤 방향이나 설명을 주시면 감사하겠습니다.

답변

1

"all"이 없어도 노드 데이터는 임의로 포함될 수 있지만 key을 포함해야합니다. key이 정의되어 있지 않으면 GoJS 모델이 자동으로 모델을 지정합니다.

{ __gohashid: 1975, key: -5 }

__gohashid가 GoJS 내부에 수정되거나 사용하지 않아야합니다 : 당신이 당신의 노드 데이터로 { }를 추가하고 보면 즉, 당신은 그것을 찾을 수 있습니다. 열쇠는 독특합니다.

uniqueness function of the model을 변경할 수 있으며 change the keyword for key도 가능합니다.

Model overview in the API에서 자세한 내용을 볼 수 있습니다. 데이터 속성에 내장 된 몇 가지가 있습니다보다 다른

: 노드 또는 링크 템플릿을 사용할 지정하지만 기본은 ""이며, 지정의 필요가 없습니다

  • category.
  • TreeModel에는 부모 노드의 키를 지정하는 parent도 있습니다. 다이어그램의 노드 및 링크 템플릿을 그 이름에 데이터 바인딩을하지 않는 한이 모델에서 찾을

다른 속성은 아무 의미가 없습니다. color는 노드의 데이터에 존재

// define a simple Node template 
myDiagram.nodeTemplate = 
    $(go.Node, "Auto", // the Shape will go around the TextBlock 
    $(go.Shape, "RoundedRectangle", { strokeWidth: 0}, 
     // Shape.fill is bound to Node.data.color 
     new go.Binding("fill", "color")), 
    $(go.TextBlock, 
     { margin: 8 }, // some room around the text 
     // TextBlock.text is bound to Node.data.key 
     new go.Binding("text", "key")) 
); 

경우,이 노드 템플릿의 모양에 Shape.fill으로 사용됩니다 예를 들어이 템플릿은 두 개의 데이터 바인딩을 가지고있다.

노드 데이터에 key (존재해야 함)이있는 경우 TextBlock.text으로 사용됩니다.

현재 작동하는 모습을 볼 수 http://codepen.io/simonsarris/pen/ORwoLA?editors=1010

당신이 추가 해명되어야한다 그리고 내가 대답을 업데이 트됩니다 생각하는 경우 알려주세요.

+0

그건 절대적으로 좋은 답변입니다! 나는 문서에서 올바른 순서로 점들을 연결하는 데 어려움을 겪고 있었고, 노드와 링크 및 모델에서 바인딩을 보는 것보다 내가 뭘 잘못하고 있었는지 알아 내려고했다. 그리고 노드, 도형 등의 속성을 문서에서 이해하므로 롤링 할 수 있습니다. 필자는 핵심 분야의 기능에 대한 확답과 행동에 대해 감사 드리며, 운이 좋지 않은 점을 분명히 밝히고 있습니다. 다시 한 번 감사드립니다! – ThePartyTurtle

+0

또한 http://gojs.net/latest/api/symbols/Model.html#toJson을 사용하여 모델을 작성하려면 속성 및 해당 값에 몇 가지 제한이 있습니다.이 속성은 JSON- 순환 참조가없는 직렬화 가능 –

2

노드 데이터는 최소한 아래 형식의 JavaScript 객체입니다. 사용하는 오브젝트의 유형에 따라 추가되는 특성이있을 수 있습니다.

{ "id": 1, "text": "TextToDisplay1" } 
{ "id": 2, "text": "TextToDisplay2" } 

는 링크 데이터 노드의 ID 값부터가됩니다 다시이 객체의 속성 '에서'아래의 형식

{ "from": 1, "to": 2, "text": "Link above 1 and 2", "curviness": 20 } 

와 자바 스크립트 객체이며, 동일한 '에'와 TEH 경우입니다 속성, 그것은 'to'노드 ID입니다.

관련 문제