Detaillierte Erläuterung der Winkel-Zweiwegebindung

Detaillierte Erläuterung der Winkel-Zweiwegebindung

Bidirektionales Bindungsprinzip

Die bidirektionale Bindung kombiniert die Eigenschaftsbindung mit der Ereignisbindung.

Die bidirektionale Bindungssyntax von Angular ist eine Kombination aus eckigen Klammern und runden Klammern [()].

[] wird für die Eigenschaftenbindung und () für die Ereignisbindung verwendet.

Die Benennungsregel lautet [Eingabename] + Ändern.

  • Eigenschaftenbindung ( Input ) – Legt ein bestimmtes Elementattribut fest.
  • Ereignisbindung ( Output -output) – Lauscht auf Elementänderungsereignisse.

Daher gibt es ngModel und ngModelChange in der Form einer bidirektionalen Bindung, und Sie können auch die Eigenschaften der bidirektionalen Bindung anpassen.

ngModel

Zweiwege-Bindung an Formularelemente

importiere { Komponente, OnInit } von '@angular/core';
@Komponente({
  Selektor: ‚App-Bind‘,
  Vorlage: `
    <div>
      <div>Name: {{ name }}</div>
      <input Typ="Text" Stil="Breite: 300px;" nz-input Name="Name" [(ngModel)]="Name" Autovervollständigung="Aus">
    </div>
  `
})
Exportklasse BindComponent implementiert OnInit {
  Name = ";
  Konstruktor() { }
  ngOnInit(): void { }
}

Rendern

Rendern

Benutzerdefinierte bidirektionale Bindungseigenschaften

Komponente-html

<div>
  <div>inner: {{ Wert }}</div>
  <input style="width: 300px;" nz-input (input)="beiInput(input.value)" #input autocomplete="aus">
</div>

Komponenten-ts

importiere { Komponente, EventEmitter, Eingabe, OnInit, Ausgabe } von '@angular/core';
@Komponente({
  Selektor: ‚app-inner‘,
  Vorlagen-URL: "./inner.component.html",
  styleUrls: ['./inner.component.scss']
})
Exportklasse InnerComponent implementiert OnInit {
  // Eingabeeigenschaften festlegen @Input() value!: string;
  // Ausgabeereignis festlegen @Output() valueChange: EventEmitter<string> = new EventEmitter();
  Konstruktor() { }
  ngOnInit(): void { }
  onInput(Wert: Zeichenfolge){
    // Ausgabeereignis auslösen – Daten ausgeben this.valueChange.emit(value);
  }
}

Externe Verwendung

importiere { Komponente, OnInit } von '@angular/core';
@Komponente({
  Selektor: ‚App-Outer‘,
  Vorlage: `
    <div>
      <div>Name: {{ name }}</div>
      <app-inner [(Wert)]="Name"></app-inner>
    </div>
  `
})
Exportklasse OuterComponent implementiert OnInit {
  Name = ";
  Konstruktor() { }
  ngOnInit(): void { }
}

Rendern

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:
  • Detaillierte Erläuterung zweier Methoden zur Implementierung der bidirektionalen Bindung benutzerdefinierter Komponenten in Angular
  • Lösen Sie das Problem, dass die bidirektionale Winkelbindung keine Auswirkung hat und das ng-Modell nicht normal angezeigt werden kann
  • Lösen Sie das Problem, dass [(ngModel)] bei der bidirektionalen Datenbindung in Angular2 nicht verwendet werden kann
  • AngularJS-Prinzip der bidirektionalen Datenbindung: Anwendung von $watch, $apply und $digest
  • Ein Beispiel für die Implementierung der bidirektionalen Datenbindung mit benutzerdefinierten Angular-Komponenten
  • Eine kurze Erläuterung des Prinzips der bidirektionalen Bindung in AngularJs (Datenbindungsmechanismus)

<<:  Linux-Systemaufrufe für Betriebsdateien

>>:  Detaillierte Erklärung zur Verwendung von MySQL, wobei

Artikel empfehlen

Beispiel für das Erreichen eines Deckeneffekts mit dem WeChat-Applet

Inhaltsverzeichnis 1. Umsetzung 2. Probleme 3. Üb...

Vier Möglichkeiten zum Erstellen von Objekten in JS

Inhaltsverzeichnis 1. Objekte durch Literalwert e...

Beispiele für einige Verwendungstipps für META-Tags in HTML

HTML-Meta-Tag HTML-Meta-Tags können verwendet wer...

Detaillierte Erklärung zur Verwendung von $emit in Vue.js

1. Übergeordnete Komponenten können Props verwend...

Detailliertes Tutorial zur Installation des Tomcat9-Windows-Dienstes

1. Vorbereitung 1.1 Laden Sie das komprimierte To...

Tutorial zur Installation von MySQL 8.0.11 unter Linux

1. Gehen Sie zur offiziellen Website, um das Inst...

Verwenden von Zabbix zum Überwachen des Ogg-Prozesses (Windows-Plattform)

Dieser Artikel stellt vor, wie man das Ogg-Progra...

Zusammenfassung der HOC-Nutzung von React-High-Order-Komponenten

Ein Satz zur Einführung von HOC Was ist eine Komp...

Centos8.3, Docker-Bereitstellung, Springboot-Projekt, tatsächliche Fallanalyse

Einführung Derzeit ist k8s sehr beliebt und ich h...

Detaillierte Erläuterung gängiger Vorgänge für Docker-Images und -Container

Bildbeschleuniger Manchmal ist es schwierig, Bild...

Praktisches Beispiel einer virtuellen Vue-Liste

Inhaltsverzeichnis Vorwort Design erreichen Zusam...

Eine einfache Methode zum Zusammenführen und Entfernen doppelter MySQL-Tabellen

Szenario: Die gecrawlten Daten erzeugen eine Date...

Hinweise zum Upgrade auf mysql-connector-java8.0.27

Kürzlich wurde bei einem Online-Sicherheitsscan e...

So wählen Sie alle untergeordneten Elemente aus und fügen ihnen in CSS Stile hinzu

Verfahren: Nehmen wir „less“ im tatsächlichen Pro...