Wie kann ich @ViewChild in einer anderen Komponente anzeigen?

Antwort

Um ein Element, das mit `@ViewChild` in einer Angular-Komponente referenziert wird, in einer anderen Komponente anzuzeigen, kannst du die folgenden Schritte befolgen: 1. **Erstelle eine gemeinsame Service-Datei**: Diese Datei wird verwendet, um die Daten zwischen den Komponenten zu teilen. ```typescript // shared.service.ts import { Injectable } from '@angular/core'; import { BehaviorSubject } from 'rxjs'; @Injectable({ providedIn: 'root' }) export class SharedService { private elementSource = new BehaviorSubject<any>(null); currentElement = this.elementSource.asObservable(); changeElement(element: any) { this.elementSource.next(element); } } ``` 2. **Referenziere das Element mit `@ViewChild` in der ersten Komponente** und übergebe es an den Service: ```typescript // first.component.ts import { Component, ViewChild, AfterViewInit } from '@angular/core'; import { SharedService } from './shared.service'; @Component({ selector: 'app-first', templateUrl: './first.component.html' }) export class FirstComponent implements AfterViewInit { @ViewChild('myElement') myElement: any; constructor(private sharedService: SharedService) {} ngAfterViewInit() { this.sharedService.changeElement(this.myElement); } } ``` ```html <!-- first.component.html --> <div #myElement> <!-- Inhalt des Elements --> </div> ``` 3. **Empfange das Element in der zweiten Komponente** und zeige es an: ```typescript // second.component.ts import { Component, OnInit } from '@angular/core'; import { SharedService } from './shared.service'; @Component({ selector: 'app-second', templateUrl: './second.component.html' }) export class SecondComponent implements OnInit { element: any; constructor(private sharedService: SharedService) {} ngOnInit() { this.sharedService.currentElement.subscribe(element => { this.element = element; }); } } ``` ```html <!-- second.component.html --> <div *ngIf="element"> <!-- Hier kannst du das Element anzeigen --> {{ element.nativeElement.innerHTML }} </div> ``` Mit diesem Ansatz kannst du ein Element, das in einer Komponente referenziert wird, in einer anderen Komponente anzeigen. Beachte, dass du möglicherweise Anpassungen vornehmen musst, um das Element korrekt darzustellen, je nachdem, was genau du anzeigen möchtest.

KI fragen

Verwandte Fragen

Wo finde ich TIdTCPClient?

Die Klasse **TIdTCPClient** ist Teil der Indy-Komponenten (Internet Direct), die häufig in Delphi und C++Builder verwendet werden. Sie befindet sich im Paket **Indy.Sockets**. **So findest du TI... [mehr]