角度2を学習する方法として、折りたたみ可能なツリービューを開発しています。今私はクリックされた特定の<li>
アイテムに隠れたプロパティを適用する方法に固執しています。ここまで私がこれまで持っていたことがあります。角度2の折りたたみ可能なツリービューの作成
これは、リストに入るアイテムを表示するhtmlです。ここ
<div>
<ol>
<li *ngFor="let item of videoList">
<div>
<a *ngIf="item.nodes && item.nodes.length > 0" (click)="toggle()">{{item.title}}</a>
<a *ngIf="item.nodes <= 0">{{item.title}}</a>
</div>
<ol [hidden]="!collapsed">
<li *ngFor="let subItem of item.nodes">
<a *ngIf="subItem.nodes && subItem.nodes.length > 0" (click)="toggle()">{{subItem.title}}</a>
<a *ngIf="subItem.nodes <= 0">{{subItem.title}}</a>
<ol [hidden]="!collapsed">
<li *ngFor="let video of subItem.nodes">
<a *ngIf="video.nodes && video.nodes.length > 0">{{video.title}}</a>
<a *ngIf="video.nodes <= 0">{{video.title}}</a>
</li>
</ol>
</li>
</ol>
</li>
</ol>
</div>
と が崩壊するか、リストを拡張コンポーネントでtypescriptですです。
collapased = false;
toggle() {
this.collapsed = !this.collapsed;
}
現在、コードでは、トップレベル要素と第2レベル要素が一緒に折りたたまれ展開されています。リストの各項目を他の項目とは独立させる必要があります。私はまた、これを達成するためにCSSを使用してフォームから離れることを好みます。
サブアイテムノードに何か(this)を渡しています。 toggle2は引数を取らないので、あなたは* this *で何をしようとしているのか分かりません。 – wolfhoundjesse
また、あなたは2つのロジックセットを持っています... – wolfhoundjesse
これは私が実際のコードを再投稿すると一緒に遊んでいたバージョンでした。 –