Element-Suche nach Klassenname in Angular

Rana Hasnain Khan 15 Februar 2024
Element-Suche nach Klassenname in Angular

Wir werden ElementRef vorstellen und wie man es verwendet, um Elemente nach Klassennamen in Angular zu finden.

Verwenden der ElementRef zum Suchen von Klassen nach Namen in Angular

ElementRef ist ein nativer DOM-Elementobjekt-Wrapper, der die Eigenschaft nativeElement enthält. Es enthält den Verweis auf das DOM-Element und verwendet es, um das DOM zu manipulieren.

Es wird mit ViewChild verwendet, um das HTML-Element aus der Komponentenklasse zu erhalten. Lassen Sie uns ein Beispiel durchgehen, um die Verwendung des ElementRef-Objekts zu verstehen.

Erstellen Sie eine neue Anwendung in Angular, indem Sie den folgenden Befehl verwenden.

# angular
ng new my-app

Wechseln Sie nach dem Erstellen der Anwendung mit diesem Befehl zum Verzeichnis der App.

# angular
cd my-app

Lassen Sie uns unsere App ausführen, um zu überprüfen, ob alle Abhängigkeiten korrekt installiert sind.

# angular
ng serve --open

Zuerst müssen wir ViewChild, ElementRef zusammen mit Component und AfterViewInit aus @angular/core in die Datei app.component.ts importieren.

Nachdem wir sie in unsere Klasse importiert haben, erstellen Sie einen privaten ElByClassName im constructor und eine ngAfterViewInit-Funktion, die das Element speichert, das wir durch den Klassennamen mit <HTMLElement> erhalten.

Sobald wir das gewünschte Element haben, können wir nun den Namen des Buttons mit innerHTML ändern. Unser Code in app.component.ts sieht wie folgt aus.

# 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';
}
}

Wir müssen eine Schaltflächenvorlage in app.component.html mit der Klasse myButton erstellen.

# angular
<button class="myButton">My Button</button>

Ausgabe:

Element nach Klassenname in Angular finden

Mit diesen einfachen Schritten können wir jedes DOM-Element mit seiner ElementRef manipulieren.

Wenn wir das Element ersetzen wollen, anstatt nur den Namen des Buttons zu ändern, können wir outerHTML verwenden.

Schreiben Sie in ngAfterViewInit() den folgenden Code, um die Schaltfläche durch eine Überschrift zu ersetzen.

# Angular
btnElement.outerHTML = '<h1>This is Heading</h1>';

Ausgabe:

finde Element nach Klassenname in Angular und ersetze es

Rana Hasnain Khan avatar Rana Hasnain Khan avatar

Rana is a computer science graduate passionate about helping people to build and diagnose scalable web application problems and problems developers face across the full-stack.

LinkedIn

Verwandter Artikel - Angular Element