Angular 2:如何在tag-input中编写嵌套循环

时间:2018-04-12 09:22:16

标签: angular angular2-template

使用Angular 2我正在尝试使用tag-input来显示父子对象,如下所示:

<tag-input *ngFor="let obj of objInputs" [ngModel]="[obj]" [modelAsStrings]="true" [editable]='false' #input>
  <ng-template let-item="item" let-index="index">
    <!-- DEFINE HERE YOUR TEMPLATE -->
    <div>
      {{obj.ParentOfParentvalue}} / <span *ngFor="let child of obj.children"> {{child.Parentvalue}} {{child.value}} <delete-icon (click)="onItemRemoved(child, index)"></delete-icon></span>
    </div>
  </ng-template>
</tag-input>

上面的代码工作在2级,但是当我尝试在第三级添加循环时,没有出现如下:

<tag-input *ngFor="let obj of objInputs" [ngModel]="[obj]" [modelAsStrings]="true" [editable]='false' #input>
  <ng-template let-item="item" let-index="index">
    <!-- DEFINE HERE YOUR TEMPLATE -->
    <div>
      {{obj.ParentOfParentvalue}} / <span *ngFor="let child of obj.children"> {{child.Parentvalue}}</span> :<span *ngFor="let lastchild of child.children"> {{lastchild.value}} <delete-icon (click)="onItemRemoved(child, index)"></delete-icon></span>
    </div>
  </ng-template>
</tag-input>

任何帮助谢谢

1 个答案:

答案 0 :(得分:0)

因为第3个循环没有嵌套在<span *ngFor="let child of obj.children">

如果你没有正确嵌套,那么Angular会尝试在不同的上下文中找到child个对象。而且由于它没有找到它,它没有任何东西可以显示