我有下面的代码,用于展开或折叠元素

<div class="accordion" (click)="toggleAccordian($event, i)">

clickMenu(event: any, index: any) {
    var element = event.target;

    let elements = this.divElements.nativeElement.querySelectorAll('.sub');

    for (var i = 0; i < elements.length; i++) {
      elements[i].classList.remove('subactive');
    }

  }

现在我想从ngInIt事件中调用click菜单.如何通过$Events

推荐答案

您需要模拟元素目标,像这样使用ViewChild,需要静态true,以便在ngOnInit hook本身期间可以使用视图子选项!

HTML

<div class="accordion" (click)="toggleAccordian($event, i)" #accordion>

TS

@ViewChild('accordion', { static: true }) accordion!: ElementRef<any>;
...

ngOnInit() {
    this.clickMenu({target: accordion?.nativeElement} as any, 0);
}
...

...
clickMenu(event: any, index: any) {
    var element = event.target;

    let elements = this.divElements.nativeElement.querySelectorAll('.sub');

    for (var i = 0; i < elements.length; i++) {
      elements[i].classList.remove('subactive');
    }

}
...

Angular相关问答推荐

Angular :将动态创建的零部件附加为目标元素的子项

是否可以将Angular 路由配置为在点击带有本地人力资源S的锚点时更新Angular 路由?

茉莉花-模板中调用了如何判断角管

Angular CLI 与 Angular 版本不兼容

我需要取消订阅路由的可观察事件吗

由于ngcc操作失败,Angular扩展可能无法正常工作

在指令中获取宿主组件的templateRef

重新打开模态时 ng-select 中的重复值 - Angular

完成行为主体

Angular 等待对话框未显示

通过 SignalR 事件组件重定向Angular 页面后不起作用

如何重置表单中的特定字段?

我应该在 Jasmine 3 中使用什么来代替 fit 和 fdescribe?

使用 Angular2 将文件上传到 REST API

如何在 Angular 2 中正确设置 Http 请求标头

Angular 5 中 value 和 ngValue 的区别

在Angular2中获取服务的域名

Angular 2+ ngModule 中导入/导出的作用

Angular2中是否有像window.onbeforeunload这样的生命周期钩子?

Angular2 Routerlink:添加查询参数