2017-06-30 8 views
0

DOM要素を動的に作成する最も簡単な方法は何ですか?私はAPIからロードされたツリー(PARENTIDのPARAMを持つアイテム)のモデルを持っていると私はAngular 2でdom要素を作成する

<ul> 
    <li>List item one</li> 
    <li>List item two with subitems: 
     <ul> 
      <li>Subitem 1</li> 
      <li>Subitem 2</li> 
     </ul> 
    </li> 
    <li>Final list item</li> 
</ul> 

答えて

2
+0

感謝を確認してください、私は方法を知っていますngForを使用するが、私の例 - parentIdパラメータを持つ項目を検討する。どのように多くの子リストがあるのか​​わからない場合、どのようにこの方法で複数レベルのリストを作成しますか? – Gatekeeper

+2

@Gatekeeper use recursion:ノード名を表示するTreeNodeコンポーネントを作成し、ngForを使用してTreeNodeコンポーネントを使用してすべての子を表示します。 –

+0

@ Gatekeeper、更新された回答を確認してください –

1

Structural directivesあなたのためであるようにネストしたリストにそれらをプリントアウトする必要があります。

このガイドでは、構造ディレクティブでAngularがどのようにDOMを操作するか、同じことをするための独自の構造ディレクティブを作成する方法について説明します。あなたがあなたのモデル

に応じてコードを変更する必要がangular2

<ul> 
<ng-template #recursiveList let-list> 
<li *ngFor="let item of list"> 
    {{item.title}} // just assuming 
    <ul *ngIf="item.children.length > 0"> 
    <ng-container *ngTemplateOutlet="recursiveList; context:{ $implicit: item.children }"></ng-container> 
    </ul> 
</li> 
</ng-template> 
<ng-container *ngTemplateOutlet="recursiveList; context:{ $implicit: list }"> </ng-container> 
</ul> 

で動的にDOM要素を作成するために*使用するngForが必要

関連する問題