Angular 是否可以直接从模板获取nativeElement引用?
我想获取Angular 是否可以直接从模板获取nativeElement引用?,angular,Angular,我想获取mat复选框的本机主机元素,以便执行itemCheckbox。单击()。现在,itemCheckbox是一个MatCheckbox。我可以直接在模板中获得对本机元素的引用吗 <mat-checkbox #itemCheckbox (click)="$event.stopPropagation()" (change)="$event ? selection
mat复选框的本机主机元素
,以便执行itemCheckbox。单击()。现在,itemCheckbox
是一个MatCheckbox
。我可以直接在模板中获得对本机元素的引用吗
<mat-checkbox
#itemCheckbox
(click)="$event.stopPropagation()"
(change)="$event ? selection.toggle(row) : null"
[checked]="selection.isSelected(row)">
</mat-checkbox>
理想情况下,我会想象这样的事情
<our-component #item="ElementRef"></our-component>
这是一般性问题。我知道我可以itemCheckbox.toggle()
,但重点是获取组件的本机元素引用。此外,我知道我可以@ViewChild
给定组件并从中获取本机元素,但这不是重点。您可以使用@ViewChild()实现此目的,如下所示:
@ViewChild('itemCheckbox') private itemCheckbox: MatCheckbox;
请记住这样导入viewchild
和MatCheckbox
:
import { ViewChild } from '@angular/core';
import { MatCheckbox } from '@angular/material';
然后,您可以在代码中访问:
this.itemCheckbox.checked
这是离题的-问题是如何直接获得它-因此在组件定义中不需要额外的代码。这是否回答了您的问题?除非我不得不在字里行间读到“没有/做不到”而不是可能。