javascript - 在 Angular 但没有 @ViewChild 的情况下查询 Dom 元素(DIV id 或类)
问题描述
我想在 Angular 中查询一个 dom 元素,我不能使用 @ViewChild 装饰器,因为 html 是通过另一个小部件呈现的。所以我想做类似的事情:
let target = document.querySelector(".domelement");
target.style.width = "100%";
我会将它包装在一个函数中并在 onInit 方法中实现它。
有任何想法吗?
解决方案
您可以以角度方式执行以下操作。Angular 中不建议直接访问 DOM
import { DOCUMENT } from '@angular/common';
import { Renderer2, Inject } from '@angular/core';
...
constructor(
@Inject(DOCUMENT) private document,
private renderer: Renderer2
) {}
...
ngAfterViewInit() {
this.renderer.setStyle(this.document.querySelector(".domelement"), 'width', '100%');
}
推荐阅读
- linux - 将文本附加到特定文件夹下的所有文件
- c++ - 使用 c/c++ 加载 xaml 文件并过滤标签和值
- filter - 使用切片器 Power BI 突出显示
- android - 使用 JobScheduler 启动服务而不加载 UI
- azure - “权限不足,无法完成操作。” 在天蓝色
- linux - postgres ubuntu 无法连接到 5432 端口
- angular - 尽管请求处理成功,但从发布请求中获得空响应
- mysql - 如何使用 sequelize 连接上传数据的两个表?
- angular - Angular 8 Mat-Tables 动态列和扩展行
- java - 请求许可时主要活动退出