我正在尝试使用ng-bootstrap库的ngbPopover组件来创建顶部导航菜单的子菜单选项的弹出窗口。我打算使用该功能为每个菜单选项定制。菜单选项通过* ngFor指令动态生成。我找不到一种方法来为* ngFor的每个元素使用模板。不确定我错过了什么似乎是一个非常简单的要求。这就是我想要做的事情:
<li class="nav-item" *ngFor="let option of topMenuOptions; let i = index;">
<a routerLinkActive="active" [routerLink]="[option.permalink, option.id]" class="nav-link" [ngClass]="{'nav-link-hovered': isHovered(option.name)}"
(mouseover)="onHoverOverLink(option.name, true, i)" (mouseout)="onHoverOverLink(option.name, false, i)" [ngbPopover]="'subMenues' + i"
placement="bottom" triggers="manual">{{option.name}}</a>
<template [attr.id]="'subMenues' + i">
some submenues {{i}}
</template>
</li>
看起来似乎无法通过这种语法动态生成模板引用 [ngbPopover] =“'subMenues'+ i”
这是我想要实现的,除了每个popover应该有自己的
答案 0 :(得分:0)
<li class="nav-item" *ngFor="let option of topMenuOptions; let i = index">
<template #submenus>
some submenues {{i}}
</template>
<!-- assuming "option.name" is a string -->
<a href="#" popoverTitle="{{option.name}}" [ngbPopover]="submenus"
placement="bottom" triggers="mouseenter:mouseleave">menu nr. {{i}}
</a>
</li>
这对我有用。我希望它有所帮助。