angular - 是否可以直接从模板中获取 nativeElement 引用?
问题描述
我想获得本地主机元素,mat-checkbox
所以我可以做到itemCheckbox.click()
。现在,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>
PS。这是一个通用问题。我知道我可以itemCheckbox.toggle()
,但关键是要获得组件的本机元素引用。另外,我知道我可以@ViewChild
给定组件并从那里获取本机元素,但这不是重点。
解决方案
您可以为此目的使用 @viewChild() ,如下所示:
@ViewChild('itemCheckbox') private itemCheckbox: MatCheckbox;
请记住导入viewchild
并MatCheckbox
像这样:
import { ViewChild } from '@angular/core';
import { MatCheckbox } from '@angular/material';
然后你可以在你的代码中访问它:
this.itemCheckbox.checked
推荐阅读
- python - 在 Python 中查找泰坦尼克号数据集中的幸存人数
- javascript - 使用 ReactJS 重定向到外部链接
- python - 如何从页面中提取包含锚文本并匹配条件的 p 标记文本
- node.js - 网络请求因本机博览会而失败
- reactjs - Jest 测试在 d3 导入时失败
- bash - Bash 脚本再次启动第一个 switch-case 循环选项
- java - 我可以使用属性设置禁用 SchedulerFactoryBean 中的特定作业吗?
- scala - Scala 和 JMM:数字类型的性能
- javascript - 如何在 React Konvajs 中设置过滤器?
- django - 如果有 (+) 符号,Django 查询参数将被剥离