在 Angular 中按类名查找元素
我们将介绍 ElementRef
以及如何使用它在 Angular 中按类名查找元素。
在 Angular 中使用 ElementRef
按名称查找类
ElementRef
是一个包含 nativeElement
属性的原生 DOM 元素对象包装器。它持有对 DOM 元素的引用并使用它来操作 DOM。
它与 ViewChild
一起使用以从组件类中获取 HTML 元素。让我们通过一个例子来理解使用 ElementRef
对象。
使用以下命令在 Angular 中创建一个新应用程序。
# angular
ng new my-app
创建应用程序后,使用此命令转到应用程序的目录。
# angular
cd my-app
让我们运行我们的应用程序来检查所有依赖项是否都安装正确。
# angular
ng serve --open
首先,我们需要从 app.component.ts
文件中的@angular/core
导入 ViewChild
、ElementRef
以及 Component
和 AfterViewInit
。
在我们将它们导入到我们的类之后,在 constructor
中创建一个私有 ElByClassName
和一个 ngAfterViewInit
函数,该函数将使用 <HTMLElement>
通过类名保存我们获得的元素。
一旦我们有了我们想要的元素,我们现在可以使用 innerHTML
更改按钮的名称。app.component.ts
中的代码如下所示。
# angular
import { Component, ElementRef, ViewChild } from '@angular/core';
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css'],
})
export class AppComponent {
name = 'Angular';
constructor(private ElByClassName: ElementRef) {}
ngAfterViewInit() {
const btnElement = (<HTMLElement>this.ElByClassName.nativeElement).querySelector(
'.myButton'
);
btnElement.innerHTML = 'This is Button';
}
}
我们需要在 app.component.html
中创建一个带有 myButton
类的按钮模板。
# angular
<button class="myButton">My Button</button>
输出:
使用这些简单的步骤,我们可以使用其 ElementRef
操作任何 DOM 元素。
如果我们想要替换元素而不是仅仅改变按钮的名称,我们可以使用 outerHTML
。
在 ngAfterViewInit()
中,编写以下代码以将按钮替换为标题。
# Angular
btnElement.outerHTML = '<h1>This is Heading</h1>';
输出:
相关文章
在 Angular 中上传文件
发布时间:2023/04/14 浏览次数:71 分类:Angular
-
本教程演示了如何在 Angular 中上传任何文件。我们还将介绍如何在文件上传时显示进度条,并在上传完成时显示文件上传完成消息。
Angular 中所有 Mat 图标的列表
发布时间:2023/04/14 浏览次数:91 分类:Angular
-
本教程演示了在哪里可以找到 Angular 中所有 Mat 图标的列表以及如何使用它们。
Angular 2 中的复选框双向数据绑定
发布时间:2023/04/14 浏览次数:139 分类:Angular
-
本教程演示了如何一键标记两个复选框。这篇有 Angular 的文章将着眼于执行复选框双向数据绑定的不同方法。
在 AngularJS 中重新加载页面
发布时间:2023/04/14 浏览次数:142 分类:Angular
-
我们可以借助 windows.location.reload 和 reload 方法在 AngularJS 中重新加载页面。
在 AngularJs 中设置 Select From Typescript 的默认选项值
发布时间:2023/04/14 浏览次数:78 分类:Angular
-
本教程提供了在 AngularJs 中从 TypeScript 中设置 HTML 标记选择的默认选项的解释性解决方案。
在 AngularJS 中启用 HTML5 模式
发布时间:2023/04/14 浏览次数:150 分类:Angular
-
本文讨论如何在 AngularJS 应用程序上启用带有深度链接的 HTML5 模式。
在 AngularJs 中加载 spinner
发布时间:2023/04/14 浏览次数:107 分类:Angular
-
我们将介绍如何在请求加载时添加加载 spinner,并在 AngularJs 中加载数据时停止加载器。
在 Angular 中显示和隐藏
发布时间:2023/04/14 浏览次数:78 分类:Angular
-
本教程演示了 Angular 中的显示和隐藏。在开发商业应用程序时,我们需要根据用户角色或条件隐藏一些数据。我们必须根据该应用程序中的条件显示相同的数据。
在 Angular 中下载文件
发布时间:2023/04/14 浏览次数:104 分类:Angular
-
本教程演示了如何在 angular 中下载文件。我们将介绍如何通过单击按钮在 Angular 中下载文件并显示一个示例。