angular - 什么是 ViewChild 的好用例阅读:ElementRef
问题描述
我知道您可以使用 ViewChild(..., {read: ElementRef}) 访问 DOM 元素。但我的问题是你为什么要这样做?我能想到的每个用例都可以通过更典型的 Angular 机制更好地完成。
编辑:澄清一下,当我可以对可以通过绑定处理的元素做的所有事情时,为什么我想直接从我的组件中访问 DOM 元素?
解决方案
通过 ViewChild 引用元素,您可以始终如一地获取其更改,因为装饰器检测到 DOM 更改,如果没有它,您将需要每次在检测更改的逻辑中调用 querySelector 或其他东西。
假设您有一个*ngFor
带有异步变量的列表,并且您必须在循环内引用一个元素。您需要等待它在屏幕上完成呈现,然后使用查询选择器来获取元素的数据,ViewChild 可以帮助您做到这一点,因为它会检测您的 DOM 何时发生更改。
推荐阅读
- javascript - 使用 Firestore 数据库为 AMP-form 设置 action-xhr 端点
- shell - Bash 脚本在 Jenkins 声明式管道中没有采用第二个参数
- wordpress - WordPress 自定义徽标
- node.js - 为某些图像链接下载 S3 图像链接并为某些图像链接查看
- r - 使用 rstatix 的简单 2 向交互警告消息
- node.js - 如何比较mongodb文档中的两个多个文件
- html - 引导选择大列表向下滚动页面(我不能使用最大高度/滚动条)
- css - 是否已弃用带有 @use 的 scss 文件?
- twitter - 如何验证 Tweepy 应用程序以通过不和谐发送推文
- windows - 在 Windows 上安装 Hortonworks 沙箱时出错