Maison  >  Article  >  interface Web  >  En savoir plus sur @Input() et @Output() en angulaire

En savoir plus sur @Input() et @Output() en angulaire

青灯夜游
青灯夜游avant
2020-09-10 10:16:282923parcourir

En savoir plus sur @Input() et @Output() en angulaire

Recommandations de tutoriel associées : angularjs(tutoriel vidéo)

Créer une classe d'étudiant

Il n'y a que quelques attributs simples (exécutez les attributs suivants pour générer rapidement)
ng generate class entity/student

export class Student {
    id: number;
    name: string;
    age: number;
}

Créer un composant enfant

ts

import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';
import { Student } from '../entity/student';
@Component({
  selector: 'app-child',
  templateUrl: './child.component.html',
  styleUrls: ['./child.component.css']
})
export class ChildComponent implements OnInit {
  @Input() stu: Student;
  @Output() deleteEvent = new EventEmitter<number>();
  constructor() { }
  ngOnInit() {
  }
  delete(id) {
    this.stu = null;
    this.deleteEvent.emit(id);
  }
}

html

<p *ngIf="stu">
  {{stu.id}} -- {{stu.name}} -- {{stu.age}}  <button (click)="delete(stu.id)">delete</button>
</p>

Modifier app.component

ts

import { Component } from '@angular/core';
import { Student } from './entity/student';
@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
  stus: Student[] = [
    {id: 1, name: '里斯', age: 3},
    {id: 2, name: '里斯2', age: 4},
    {id: 3, name: '里斯3', age: 5},
  ];
  stu: Student;
  constructor() {
  }
  selected(stu) {
    this.stu = stu;
  }
  deleteStu(id: number) {
    this.stus.forEach((val, index) => {
      if ( val.id === id) {
        this.stus.splice(index, 1);
        return;
      }
    });
  }
}

html

<p>
  <ul>
    <li *ngFor="let stu of stus" (click)="selected(stu)"> {{stu.id}} -- {{stu.name}} -- {{stu.age}} </li>
  </ul>
</p>
<app-child [stu]="stu" (deleteEvent)="deleteStu($event)"></app-child>

@Input() Très Simple, il s'agit de donner les données du composant parent à une propriété du composant enfant
@Output() Le composant enfant crée un EventEmitter, le fonctionnement du composant enfant déclenchera l'EventEmitter, puis assignera cet objet EventEmitter ; en une méthode du composant parent, changez la méthode. Elle obtiendra les paramètres donnés par l'objet EventEmitter puis les traitera

Pour plus de connaissances sur la programmation, veuillez visiter : Tutoriel de programmation ! !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer