0
我正在使用此手風琴。在結構指令中迭代數組對象
<ngb-accordion [closeOthers]="true" activeIds="static-0">
<ngb-panel id="static-{{i}}" title="{{panel.title}}" *ngFor="let panel of (panels | search:'panel,content':query);let i = index;">
<ng-template ngbPanelContent>
<div class="row"><div class="col col-9">{{panel.content}}</div> <div class="col col-3"><figure (click)="open(modalId)"><img [src]="panel.imgsrc"></figure></div></div>
</ng-template>
</ngb-panel>
</ngb-accordion>
我想要做的就是打開當我點擊figure
與放大記者panel.imgsrc
一個模式。對於模態,我正在使用這個。
<ng-template #modalId let-c="close" let-d="dismiss">
<div class="modal-header">
<h4 class="modal-title">Modal title</h4>
<button type="button" class="close" aria-label="Close" (click)="d('Cross click')">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<figure><img src="assets/img/unidade1.png"></figure>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-outline-dark" (click)="c('Close click')">Close</button>
</div>
</ng-template>
模態的作品,但只有當我在(click)="open(modalId)"
指定靜態URL,它在<ng-template #modalId
完全匹配。
我試過使用#{{modalID}}
但它不會打開;它不會顯示控制檯錯誤,但可能是插值錯誤。我也想過反向工程ng-template
並改變它綁定模式ID的方式,所以我可以用適當的符號來迭代數組對象,但我不知道它是模板的位置還是它們構建指令的地方(不管怎樣,可能有更簡單的方法來做到這一點)。
我感謝任何幫助,在此先感謝。