在 HTML dom 元素变量中设置手风琴面板对象的类型

Set type of accordion panel object in HTML dom element variable

我有一个像这样定义的简单手风琴

<ngb-accordion>
  <ngb-panel #group>
    <ng-template ngbPanelTitle>
        <i [ngClass]="{'fa-chevron-circle-down': group?.isOpen}">

这完全符合预期。现在我已经升级到 Angular 9 并添加了严格的模板检查,它在 group?.isOpen 上失败了,因为它不知道组的类型是什么。我不知道如何正确分配 #group

例如,对于导航,我会 <nav #nav="ngbNav" ngbNav> 但我想不出面板的正确名称。

NgbPaneldoes not setexportAs属性,所以这个语法是行不通的。作为解决方法,我只能在组件中成像冗余功能:

panelTyped(panel): NgbPanel {
    return <NgbPanel>panel;
}
<ngb-accordion>
  <ngb-panel #group>
    <ng-template ngbPanelTitle>
        <i [ngClass]="{'fa-chevron-circle-down': panelTyped(group)?.isOpen}">