Maison > interface Web > js tutoriel > Une brève discussion sur la méthode de transmission des paramètres entre les composants parent et enfant dans Angular

Une brève discussion sur la méthode de transmission des paramètres entre les composants parent et enfant dans Angular

青灯夜游
Libérer: 2021-06-04 11:28:53
avant
3010 Les gens l'ont consulté

Cet article vous présentera la méthode de transmission des paramètres entre les composants parent et enfant dans Angular. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il sera utile à tout le monde.

Une brève discussion sur la méthode de transmission des paramètres entre les composants parent et enfant dans Angular

[Recommandation de tutoriel associée : "tutoriel angulaire"]

1 : Le composant parent obtient les données et les données du composant enfant Méthode

signifie que le composant enfant transfère les données et les méthodes au composant parent

via ViewChild

Exemple de démonstration :

Composant parent : news
Composant enfant : en-tête

Si l'en-tête du sous-composant a une méthode d'exécution

run(){
 console.log(‘我是header里面的run方法’);
 }
Copier après la connexion

Appelez la méthode d'exécution de l'en-tête du sous-composant dans le composant parent

1. Appelez le composant enfant dans le composant parent et définissez un nom pour le composant enfant

<app-header #header></app-header>
Copier après la connexion

Une brève discussion sur la méthode de transmission des paramètres entre les composants parent et enfant dans Angular

2. Introduisez ViewChild dans le composant parent

import { Component,OnInit ,ViewChild} from ‘@angular/core’;
Copier après la connexion

3 Utilisez le décorateur d'attribut ViewChild pour l'associer au sous-composant tout à l'heure

@ViewChild(‘header’)
 Header:any;
Copier après la connexion
<🎜. >

4. Appelez la méthode du sous-composant

getChildRun(){
 this.Header.run();
 }
Copier après la connexion

Une brève discussion sur la méthode de transmission des paramètres entre les composants parent et enfant dans Angular

2 : Le composant parent transmet la valeur au composant enfant -@input

Exemple de démonstration :

Composant parent : home

Composant enfant : en-tête

Le composant parent peut non seulement transmettre des données simples au composant enfant, mais également transmettre ses propres méthodes et l'intégralité du composant parent au composant enfant

Donc dans le composant enfant La méthode du composant parent peut être appelée

Lorsque le composant parent appelle l'enfant. composant, transmettre les données

 <app-header [title]="title" [homeWork]="homeWork"  [homepage]=&#39;this&#39;></app-header>
Copier après la connexion

Une brève discussion sur la méthode de transmission des paramètres entre les composants parent et enfant dans Angular

2. Le sous-composant introduit le module d'entrée

import { Component, OnInit ,Input } from ‘@angular/core’;
Copier après la connexion

3. @Input dans le sous-composant reçoit les données du composant parent

export class HeaderComponent implements OnInit {
    @Input()  title:string

    constructor() { }
    ngOnInit() {}
}
Copier après la connexion

4 Utilisez les données du composant parent dans le composant

. Il s'agit du composant principal--{

{title}}

Une brève discussion sur la méthode de transmission des paramètres entre les composants parent et enfant dans Angular

5, Méthodes d'utilisation des composants parents dans les composants enfants

Résumé :

Passage du parent à l'enfant : @input

Passage de l'enfant au parent : ViewChild

Comment un composant enfant déclenche le composant parent. via @Output

Exemple de démonstration :

Composant parent : news
Composant enfant : footer

1 , le sous-composant introduit Output et EventEmitter

import { Component, OnInit ,Input,Output,EventEmitter} from ‘@angular/core’;
Copier après la connexion

2. Instancier EventEmitter

@Output()

private external=new EventEmitter( ; >

4. Quand le composant parent appelle le sous-composant, définit l'événement de réception, external est l'objet EventEmitter du sous-composant external

Fichier : composantsnewsnews.component.html

sendParent(){
 this.outer.emit(‘msg from child’)
 }
Copier après la connexion

Une brève discussion sur la méthode de transmission des paramètres entre les composants parent et enfant dans Angular

5. Lorsque le composant parent reçoit les données, il appellera sa propre méthode getFooterRun. À ce moment, le nombre de composants enfants peut être obtenu

Fichier. : composantsnewsnews.component.ts

<app-footer (outer)=“getFooterRun(data)”>
Copier après la connexion

Une brève discussion sur la méthode de transmission des paramètres entre les composants parent et enfant dans Angular5. Communication des composants non parent-enfant

Service public 2. Stockage local (recommandé)

3 , Cookie

Résumé :

Utilisation de $emit dans vue

1. > Les attributs

transmettent les données aux sous-composants, et les sous-composants les reçoivent via des accessoires. 2. Les sous-composants peuvent utiliser $emit pour déclencher des événements personnalisés des composants parents.
//接收子组件传递过来的数据
 getFooterRun(data){
 console.log(data);
 }
Copier après la connexion

Utilisation d'emit dans angulaire

1 Le composant parent peut utiliser l'

attribut pour transmettre des données au composant enfant et à l'enfant. le composant passe @input accept. 2. Les sous-composants peuvent utiliser Output et EventEmitter pour déclencher des événements personnalisés des composants parents.

Composant parent

vm.$emit( event, arg ) //触发当前实例上的事件
vm.$on( event, fn );//监听event事件后运行 fn;
Copier après la connexion
Composant enfant
<app-footer (event)=“getFooterRun(data)”>
Copier après la connexion
@Output() 
private event=new EventEmitter<string>();
/*用 EventEmitter 和 output 装饰器配合使用 <string>指定类型变量*/

sendParent(){ 
    // outer 相当于是事件名称
    this.event.emit(data)  
 }
Copier après la connexion
Pour plus de connaissances liées à la programmation, veuillez visiter :

Vidéo 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!

Étiquettes associées:
source:csdn.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal