Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 是否可以直接从模板获取nativeElement引用?_Angular - Fatal编程技术网

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

这是离题的-问题是如何直接获得它-因此在组件定义中不需要额外的代码。这是否回答了您的问题?除非我不得不在字里行间读到“没有/做不到”而不是可能。