我在我的角4项目中使用ng-自助框架。
我在我的应用程序中有多个地方的“手风琴”组件,在某些情况下,我需要在类型记录中触发手风琴打开状态。
从手风琴组件API文档中我发现了以下方法,但就我尝试过的方法而言,它只在html文件中调用时才起作用(尝试从构造函数调用)。
//Programmatically toggle a panel with a given id.
toggle(panelId: string) => void是否也可以在打字本中触发?如果有人有经验的话,我会很感激的。否则我需要自己做手风琴。
发布于 2018-04-02 15:49:28
为此,您必须使用ViewChild强类型和NgbAccordion组件。
对于ng引导程序的任何组件和任何子组件的任何公共方法,您都可以做同样的事情。
采取以下步骤:
1/在html端的组件标记中添加#_s标识符。
2/使用@ViewChild('someIdentifier')在component.ts上引用
3/ StrongCast属性由ComponentType表示。
[4]享受您的孩子组件的任何公共方法。
以下例子:
import {Component, ViewChild} from '@angular/core';
import {NgbAccordion} from '@ng-bootstrap/ng-bootstrap';
@Component({
selector: 'ngbd-accordion-toggle',
templateUrl: './accordion-toggle.html'
})
export class NgbdAccordionToggle {
@ViewChild('acc') accordionComponent: NgbAccordion;
// Method call on click.
toggle(id:string): void {
//Here you have access to AccordionComponent as discribe on documentation.
this.accordionComponent.toggle(id);
}
}Html侧:
<ngb-accordion #acc="ngbAccordion">
// [...]
</ngb-accordion>实例:https://stackblitz.com/edit/angular-szhpdw?file=app%2Faccordion-toggle.ts
https://stackoverflow.com/questions/49613227
复制相似问题