我正在尝试获取带有 id 的 mat-tab 元素,但由于某种原因,命令 document.getElementById() 返回 null 而不是 mat-tab 元素。例子:
https://stackblitz.com/edit/angular-mn5tt6
有人可以说为什么会发生这种情况,是否有更好、正确的方法来获取 HTML 元素?
非常感谢您的帮助!
我的答案
我发现获取选项卡 HTML 元素的最佳方法如下
HTML 文件:
<mat-tab-group #tabGroup>
<mat-tab label="First"> Content 1
<button (click)="printTab(tabGroup)">click me</button>
</mat-tab>
<mat-tab label="Second"> Content 2 </mat-tab>
<mat-tab label="Third"> Content 3 </mat-tab>
</mat-tab-group>
TS 文件:
export class TabGroupBasicExample {
@ViewChild('tabGroup') tabGroup;
printTab(tabGroup) {
console.log(this.tabGroup._tabs._results[0]);
}
}
堆栈闪电战:
https://stackblitz.com/edit/angular-mn5tt6-ahxi4j?file=app%2Ftab-group-basic-example.ts