【发布时间】:2018-07-17 04:28:31
【问题描述】:
我试图在加载组件时手动单击手风琴。但在我的情况下,我收到了标题中提到的控制台错误,并且手风琴也没有被点击。
手风琴:
<div class="accordion col-sm-12" id="accordion1" *ngFor='let data of dropdownData; let i=index'>
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle h6" data-toggle="collapse" data-parent="#accordion1" href="#collapseTwo + i" #accordion>
{{data?.CAMD_ENTITY_DESC}}
</a>
</div>
<div *ngFor='let group of data.group; let j=index' id="collapseTwo + i" class="accordion-body collapse"
style="margin-left:10px">
<div class="accordion-inner">
<div class="accordion" id="accordion2">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" [href]="'#collapseInnerTwo' + j">
{{group?.CAMD_PRGRP_DESC}}
</a>
</div>
<div [id]="'collapseInnerTwo' + j" class="accordion-body collapse" style="margin-left:10px;margin-top:3px">
<div class="accordion-inner" *ngFor='let subgroup of group?.subgroup; let i=index'>
{{subgroup?.CAMD_PRSGRP_DESC}}
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
这里我已经给了 #accordion 来获取 elementRef。
组件
export class TwoComponent implements OnInit, AfterViewInit {
dropdownData: any;
id: number = 0;
@ViewChildren('accordion') a: QueryList<ElementRef>;
constructor(private route: ActivatedRoute, private CartdataService: CartdataServiceService) { }
ngOnInit() {
this.CartdataService.get_New_Products().subscribe(
data => {
this.dropdownData = data;
});
}
ngAfterViewInit() {
this.a.changes.subscribe(() => {
let elementRef = this.a.toArray()[this.id];
$(elementRef.nativeElement).trigger("click");
});
}
}
谁能帮我解决这个问题。
【问题讨论】:
标签: angular typescript viewchild