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

Docker installiert Redis und führt den visuellen Client für den Betrieb ein

1 Einleitung Redis ist eine leistungsstarke, auf ...

Einführung in MySQL-Rollenfunktionen

Inhaltsverzeichnis Vorwort: 1. Einführung in die ...

Zusammenfassung der in MySQL häufig verwendeten Verkettungsanweisungen

Vorwort: In MySQL wird die Funktion CONCAT() verw...

So reduzieren Sie den Speicherverbrauch und die CPU-Auslastung von Webseiten

Manche Webseiten erscheinen möglicherweise nicht ...

So richten Sie domänenübergreifenden Zugriff in IIS web.config ein

Anforderung: Die Seite muss ein Bild anzeigen, ab...

Lösung zum Vergessen des MySQL-Root-Passworts in MACOS

MySQL ist ein relationales Datenbankverwaltungssy...

Analyse des Prinzips und der Erstellungsmethode der temporären MySQL-Tabelle

In diesem Artikel werden hauptsächlich das Prinzi...

Eine schnelle Lösung für das Problem der PC- und Mobilanpassung

Beim Erstellen einer Webseite müssen wir normaler...

So öffnen Sie eine Seite in einem Iframe

Lösung: Setzen Sie den Zielattributwert des Links ...