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

Über die Überlappung von Randwert und vertikalem Rand in CSS

Rand paralleler Boxen (Überlappung doppelter Ränd...

So installieren Sie nginx unter Linux

Nginx wurde in der Programmiersprache C entwickel...

JavaScript zum Implementieren der Auswahl oder Stornierung von Kontrollkästchen

In diesem Artikel wird der spezifische JavaScript...

So richten Sie eine automatische tägliche Datenbanksicherung in Linux ein

Dieser Artikel verwendet das Centos7.6-System und...

Webdesign-Tutorial (8): Webseitenhierarchie und Raumgestaltung

<br />Vorheriger Artikel: Webdesign-Tutorial...

Erste Schritte mit TS (TypeScript) im Vue-Projekt

Inhaltsverzeichnis 1. Einführung in Typescript 2....

Flex-Grow-, Flex-Shrink-, Flex-Basis- und Neun-Raster-Layout verstehen

1. Flex-Grow-, Flex-Shrink- und Flex-Basis-Eigens...

40 Webseiten-Designs mit supergroßen Schriftarten

Heutige Webdesigns neigen dazu, sehr große Schrif...

5 JavaScript-Möglichkeiten zum Abflachen von Arrays

Inhaltsverzeichnis 1. Konzept der Array-Abflachun...

MySql-Lerntag 03: Verbindungs- und Abfragedetails zwischen Datentabellen

Primärschlüssel: Schlagwort: Primärschlüssel Funk...

Detaillierte Erklärung zur Verwendung von Titel-Tags und Absatz-Tags in XHTML

XHTML-Überschriftenübersicht Wenn wir Word-Dokume...