Reputation: 408
I have the below code which i am using to expand or collapse the elements
<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');
}
}
Now i want to call clickMenu from ngInIt event. How do i pass $event
Upvotes: 1
Views: 57
Reputation: 57986
You need to mock the element target, using ViewChild
like so, static true is needed so that the view child is avaiable during ngOnInit
hook itself!
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');
}
}
...
Upvotes: 0