Heim > Web-Frontend > js-Tutorial > Hauptteil

Angular2-Eingabe- und Ausgabeanalyse

小云云
Freigeben: 2018-01-25 12:00:51
Original
1276 Leute haben es durchsucht

Dieser Artikel stellt hauptsächlich das Verständnis und die Beispiele von angle2 ng2 @input und @output vor. Der Herausgeber findet es ziemlich gut. Jetzt werde ich es mit Ihnen teilen und Ihnen eine Referenz geben. Folgen wir dem Herausgeber und schauen wir uns das an. Ich hoffe, es kann allen helfen.

Angular2 @input und @output verstehen

Erstellen Sie zuerst ein Beispiel und geben Sie dann den Code an

Zum Beispiel:


<talk-cmp [talk]="someExp" (rate)="eventHandler($event.rating)">
Nach dem Login kopieren

input, [talk]="someExp" Dieses Tag kann als spezieller Listener verstanden werden, der den von der übergeordneten Komponente übergebenen someExp-Parameter abhört und speichert In seiner eigenen Komponente scheint sich eine Hintertür geöffnet zu haben, die nur den Eintritt einiger Exps in die übergeordnete Komponente zulässt Variable über @Input sprechen und dann verwenden.

output, (click)="eventHandler($event.rating) Dies bedeutet, dass beim Auslösen des Click-Ereignisses der untergeordneten Komponente die eventHandler-Funktion der übergeordneten Komponente ausgeführt wird und die Parameter der untergeordneten Komponente übernommen werden $event. Die Bewertung wird an die eventHandler-Funktion der übergeordneten Komponente übergeben, genau wie wenn ein Kind weint (das Klickereignis ausführt), seine Mutter es sofort in den Armen hält (ausführt den eventHandler der Mutter) und gleichzeitig das Mutter erhält einige Parameter des Kindes ( $event.rating)

1. @input()

Die übergeordnete Komponente Father.component.ts stellt Daten bereit


import {Component} from "@angular/core";
@Component({
  selector: "my-father",
  templateUrl: "father.html"
})
export class FatherComponent {
  data: Array<Object>;
  constructor() {
    this.data = [
      {
        "id": 1,
        "name": "html"
      },
      {
        "id": 2,
        "name": "css"
      },
      {
        "id": 3,
        "name": "angular"
      },
      {
        "id": 4,
        "name": "ionic"
      },
      {
        "id": 5,
        "name": "node"
      }
    ]
  }
}
Nach dem Login kopieren

Vorlagendatei Father.html


<h1>父组件</h1>
// 包含子组件, 并使用属性传递数据过去
<my-child [info]="data"></my-child>
Nach dem Login kopieren

Unterkomponente child.component.ts erhält Daten


import {Component, Input} from "@angular/core";
@Component({
  selector: "my-child",
  templateUrl: "child.html"
})
export class ChildComponent {  
  // 使用@Input获取传递过来的数据
  @Input()
  info: Array<Object>;
  constructor() {
  
  }
}
Nach dem Login kopieren

Untergeordnete Komponente child.html-Vorlagendatei


<ul>
  <li *ngFor="let item of info">
    {{item.name}}
  </li>
</ul>
Nach dem Login kopieren

2.

Untergeordnete Komponente three-link.component.ts

1. Einführung von


import {Component, OnInit, Output, EventEmitter} from "@angular/core";
Nach dem Login kopieren

2


export class ThreeLinkComponent {
  province: string;
  // 输出一下参数
  @Output() provinceOut = new EventEmitter();  
  constructor() {
    this.province = "陕西";
  } 
}
Nach dem Login kopieren

3. Das Ereignis wird ausgelöst und die Variablen werden an die übergeordnete Komponente ausgegeben


provinceChange() {
  // 选择省份的时候发射省份给父组件
  this.provinceOut.emit(this.province);
}
Nach dem Login kopieren

Vorlage für übergeordnete Komponente


<!--三级联动组件-->
<three-link (provinceOut)="recPro($event)"></three-link>
Nach dem Login kopieren

Übergeordnete Komponente


// 函数接受子函数传递过来的变量, 子函数中emit的时候触发这个函数。
recPro(event) {
  this.province = event;
}
Nach dem Login kopieren

Verwandte Empfehlungen:

JS-Implementierung des Klickens auf das Dropdown-Menü, um das Beispiel für die Synchronisierung von Inhalten mit dem Eingabefeld auszuwählen

JS klickt auf das Dropdown-Menü, um die Auswahl zu synchronisieren Inhalt des Eingabefelds Implementierungsmethode

Verwendung Beispielanalyse der Ausgabe-Tag-Markierung des JavaScript-Rückgabewerts

Das obige ist der detaillierte Inhalt vonAngular2-Eingabe- und Ausgabeanalyse. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!