我NgbDropdown在我的角度應(yīng)用程序中使用。我有兩個組件CompParent和CompChild。compChild保存下拉列表的 HTML,它包含在CompParent中。當(dāng)滾動事件發(fā)生時,我正在嘗試關(guān)閉頁面中所有打開的下拉菜單scrollable-div。comp-child.component.html:<div ngbDropdown container="body"> <button class="btn btn-outline-primary btn-sm" ngbDropdownToggle>Actions</button> <div ngbDropdownMenu> <button ngbDropdownItem>Edit</button> <button ngbDropdownItem>Duplicate</button> <button ngbDropdownItem>Move</button> <div class="dropdown-divider"></div> <button ngbDropdownItem>Delete</button> </div></div>并且CompChild包含在CompParent 中,如下所示:comp-parent.component.html<div class="scrollable-div" (scroll)="closeAllDropdowns($event)"> <div class="dropdown-container" *ngFor="let item of items"> <app-comp-child></app-comp-child> </div></div>到目前為止我嘗試過的是:在compParent TS 中:export class compParentComponent{ @ViewChild(NgbDropdown) private readonly dropdown: NgbDropdown; @HostListener('scroll', ['$event']) closeAllDropdowns(event) { this.dropdown.close(); }}但是this.dropdown返回undefined并說 close 方法不是與之關(guān)聯(lián)的函數(shù)。我還嘗試使用 templateRef 選擇所有下拉菜單,但這也沒有用。
如何以角度從父組件觸發(fā) ngbDropdown 方法?
慕尼黑的夜晚無繁華
2022-12-09 17:15:38