ng用于在可折叠菜单卡中显示单个项目
ngFor display individual items inside collapsible menu card
我试图在点击 Details
link 时将每张卡片的详细信息显示为可折叠的 menu.I 使用 bootstrap 的数据切换 class 由 id 识别。
我无法使 data-target
中的目标 ID 动态化。
我尝试通过提供 data-target="openPanel[item]"
/ `data-target="openPanel[i1]"' 来获取动态值,但它不起作用。
请找那个笨蛋link here
为您的详细信息面板使用 *ngIf
:
<div class="collapse" id="openPanel" *ngIf="isActive[i1]">
This is {{item.year}} panel
</div>
Plunker link 这里:PLUNKER DEMO
<div data-toggle="collapse" [attr.data-target]="'#openPanel_'+i1" class="row display-inline-mode">
<h4 [ngClass]="{'flipped': isActive[i1] }" (click)="isActive=[];isActive[i1] = !isActive[i1];">Details
</h4>
</div>
<div class="collapse" id="openPanel_{{i1}}">
This is {{item.year}} panel
</div>
属性绑定是解决方案。 Bootstrap data-toggle 应该得到唯一的 id,所以在你的情况下给索引 i1 使 id 唯一
参考:
将您的模板更改为:
<div class="border-box" id="panels">
<div class="quarter-panel panel" *ngFor="let item of quarterDataList;let i1 = index">
<h2>{{item.year}}</h2>
<div class="item-hover" *ngFor="let count of item.quarterData;let i = index" (click)="setClickedRow((i+'_'+item.year))" [class.active]="((i+'_'+item.year)) == selectedRow">
<br>
{{count.view}}-{{count.count}}
</div>
<div data-parent="#panels" data-toggle="collapse" [attr.data-target]="'#openPanel'+ i1" class="row display-inline-mode">
<h4 [ngClass]="{'flipped': isActive[i1] }" (click)="isActive=[];isActive[i1] = !isActive[i1];">Details
</h4>
</div>
<div class="collapse" id="openPanel{{i1}}">
This is {{item.year}} panel
</div>
</div>
我试图在点击 Details
link 时将每张卡片的详细信息显示为可折叠的 menu.I 使用 bootstrap 的数据切换 class 由 id 识别。
我无法使 data-target
中的目标 ID 动态化。
我尝试通过提供 data-target="openPanel[item]"
/ `data-target="openPanel[i1]"' 来获取动态值,但它不起作用。
请找那个笨蛋link here
为您的详细信息面板使用 *ngIf
:
<div class="collapse" id="openPanel" *ngIf="isActive[i1]"> This is {{item.year}} panel </div>
Plunker link 这里:PLUNKER DEMO
<div data-toggle="collapse" [attr.data-target]="'#openPanel_'+i1" class="row display-inline-mode">
<h4 [ngClass]="{'flipped': isActive[i1] }" (click)="isActive=[];isActive[i1] = !isActive[i1];">Details
</h4>
</div>
<div class="collapse" id="openPanel_{{i1}}">
This is {{item.year}} panel
</div>
属性绑定是解决方案。 Bootstrap data-toggle 应该得到唯一的 id,所以在你的情况下给索引 i1 使 id 唯一
参考:
将您的模板更改为:
<div class="border-box" id="panels">
<div class="quarter-panel panel" *ngFor="let item of quarterDataList;let i1 = index">
<h2>{{item.year}}</h2>
<div class="item-hover" *ngFor="let count of item.quarterData;let i = index" (click)="setClickedRow((i+'_'+item.year))" [class.active]="((i+'_'+item.year)) == selectedRow">
<br>
{{count.view}}-{{count.count}}
</div>
<div data-parent="#panels" data-toggle="collapse" [attr.data-target]="'#openPanel'+ i1" class="row display-inline-mode">
<h4 [ngClass]="{'flipped': isActive[i1] }" (click)="isActive=[];isActive[i1] = !isActive[i1];">Details
</h4>
</div>
<div class="collapse" id="openPanel{{i1}}">
This is {{item.year}} panel
</div>
</div>