Detaillierte Erläuterung der Kommunikation zwischen Angular-Eltern- und -Kindkomponenten

Detaillierte Erläuterung der Kommunikation zwischen Angular-Eltern- und -Kindkomponenten

Verwendete APIs

Input - definiert zulässige Eigenschaften in der untergeordneten Komponente, die von der übergeordneten Komponente verwendet werden können, um Daten an die untergeordnete Komponente zu übergeben

Output – Die Ausgabeeigenschaft der untergeordneten Komponente. Diese Eigenschaft muss vom Ereignistyp „EventEmitter“ sein, um die übergeordnete Komponente zu benachrichtigen, dass sie entsprechende Aktionen ausführen soll.

EventEmitter – wird in Komponenten mit @Output-Direktive verwendet, um benutzerdefinierte Ereignisse synchron oder asynchron auszugeben und Handler für diese Ereignisse zu registrieren, indem Instanzen abonniert werden.

Einfaches Beispiel

Rendern Sie Unterkomponenten in einer Liste. Klicken Sie auf eine Unterkomponente, um die übergeordnete Komponente zu benachrichtigen, dass eine Operation ausgeführt werden soll.

person.ts

Exportschnittstelle Person {
  Name: Zeichenfolge;
  Alter: Anzahl;
  Geschlecht: Zeichenfolge;
}

Übergeordnete Komponente

importiere { Komponente, OnInit } von '@angular/core';
importiere { Person } von './person';
@Komponente({
  Selektor: ‚app-comp-parent‘,
  Vorlage: `
    <app-comp-untergeordnetes
      *ngFor="Person von Personenliste lassen"
      (itemClick)="beiItemClick($event)"
      [data]="Person"
    ></app-comp-child>
  `,
})
Exportklasse CompParentComponent implementiert OnInit {
  personList: Person[] = [
    { Name: '张三', Alter: 21, Geschlecht: '男' },
    { Name: 'Li Si', Alter: 25, Geschlecht: 'Männlich' },
    { Name: '李莉', Alter: 20, Geschlecht: '女' },
  ];
  Konstruktor(){ }
  ngOnInit(): void { }
  beiArtikelKlick(Artikel: Person){
    console.log('Klick-Person: ', Element);
  }
}

Unterkomponenten

importiere { Komponente, EventEmitter, Eingabe, OnInit, Ausgabe } von '@angular/core';
importiere { Person } von './person';
@Komponente({
  Selektor: ‚app-comp-child‘,
  Vorlage: `
    <div (Klick)="itemClick.emit(Daten)">
      Name: {{ data.name }}
      Alter: {{ data.age }}
      Geschlecht: {{ data.sex }}
    </div>
  `,
})
Exportklasse CompChildComponent implementiert OnInit {
  @Input() Daten!: Person;
  @Output() itemClick = neuer EventEmitter();
  Konstruktor(){ }
  ngOnInit(): void { }
}

Wirkung

Rendern

Zusammenfassen

Dieser Artikel endet hier. Ich hoffe, er kann Ihnen helfen. Ich hoffe auch, dass Sie mehr Inhalt auf 123WORDPRESS.COM lesen können!

Das könnte Sie auch interessieren:
  • Beispiel für die Kommunikation zwischen Angular2-Eltern- und -Kindkomponenten
  • Implementierung der gemeinsamen Servicekommunikation zwischen übergeordneten und untergeordneten Angular 2-Komponenten
  • Beispiel für die Datenkommunikation zwischen Angular2-Eltern- und -Kindkomponenten

<<:  Reiner CSS-Code zum Erzielen eines Drag-Effekts

>>:  Eine detaillierte Einführung in die Speicherverwaltung und -adressierung unter Linux

Artikel empfehlen

Freundliche Alternativen zum Find Tool in Linux

Mit dem Befehl „Find“ können Sie in einem angegeb...

JavaScript implementiert Feuerwerkseffekte mit Soundeffekten

Ich habe eine halbe Stunde gebraucht, um den Code...

Zusammenfassung zur Anwendung dekorativer Elemente im Webdesign

<br />Vorwort: Bevor Sie dieses Tutorial les...

Windows-Plattformkonfiguration Version 5.7 + MySQL-Datenbankdienst

Beinhaltet den Prozess der Initialisierung des Ro...

Prozess des Klassenlademechanismus von Tomcat und Quellcodeanalyse

Inhaltsverzeichnis Vorwort 1. Strukturdiagramm de...

CentOS 6-7 Yum-Installationsmethode für PHP (empfohlen)

1. Überprüfen Sie die aktuell installierten PHP-P...

So stellen Sie den Node.js-Dienst mithilfe von Dockerfile bereit

Dockerfile initialisieren Angenommen, unser Proje...

jQuery realisiert den Effekt der Sitzplatzauswahl und -reservierung im Theater

jQuery realisiert den Effekt der Sitzplatzauswahl...