2017-10-26 4 views
2

큰 중첩 배열이있는 각도 트리에서 작업하고 있습니다.중첩 배열에 요소를 동적으로 삽입 할 수 없습니다.

노드 :

public fonts: TreeModel = { 
    value: 'Fonts', 
    children: [ 
     { 
     value: 'Serif - All my children and I are STATIC ¯\\_(ツ)_/¯', 
     settings: { 
      'static': true 
     }, 
     children: [ 
      { value: 'Antiqua' }, 
      { value: 'DejaVu Serif' }, 
      { value: 'Garamond' }, 
      { value: 'Georgia' }, 
      { value: 'Times New Roman' }, 
      { 
      value: 'Slab serif', 
      children: [ 
       { value: 'Candida' }, 
       { value: 'Swift' }, 
       { value: 'Guardian Egyptian' } 
      ] 
      } 
     ] 
     }, 
     { 
     value: 'Sans-serif', 
     children: [ 
      { value: 'Arial' }, 
      { value: 'Century Gothic' }, 
      { value: 'DejaVu Sans' }, 
      { value: 'Futura' }, 
      { value: 'Geneva' }, 
      { value: 'Liberation Sans' } 
     ] 
     } 
    ]}; 

트리 이미지에서 하나 개의 존재와 비슷는 : 모든 노드에서 enter image description here

마다 사용자가 클릭, API 요청 (즉 노드의 자식을 가지고 JSON 간다 정렬). 그럼 내가 원래 트리 배열에이 응답 배열을 추가해야합니다. 제가 직면하고있는 문제는 클릭 한 부모 노드 사용자에 대해 원본 배열에 노드 자식을 동적으로 삽입하는 방법입니다.

더 나은 현재의 문제 해결 방법은 나에게 도움이 될 것입니다. 현재 tree를 구현하기 위해 angular2-tree-component를 사용하고 있습니다.

+0

개체는 모두 참조로 전달되며 클릭 한 개체에 대한 참조를 유지하고 서버 응답에 데이터를 추가합니다. – tymeJV

+0

클릭 한 노드에 대한 참조가있는 경우 직접 자식 노드를 추가하는 것이 좋습니다. 개선 방법에 대한 구체적인 팁을 제공하기 위해 코드를 볼 필요가있을 수 있습니다. – BeetleJuice

답변

0

마지막으로 해결책을 얻었습니다.

트리를 구현하기 위해 ng2-tree로 전환했습니다. 트리 노드를위한 모든 내장 메서드가 있으며 잘 문서화되어 있습니다.
npm: ng2-tree

모든 노드에 ID를 제공하십시오. 사용자가 노드를 클릭하면 자식을 추가하는 메소드가 호출됩니다.

관련 문제