Maison > interface Web > js tutoriel > Comment implémenter la liaison de données bidirectionnelle dans Angular

Comment implémenter la liaison de données bidirectionnelle dans Angular

亚连
Libérer: 2018-06-21 16:58:11
original
1481 Les gens l'ont consulté

L'éditeur ci-dessous partagera avec vous un exemple de liaison de données bidirectionnelle utilisant des composants personnalisés Angular. Il a une bonne valeur de référence et j'espère qu'il sera utile à tout le monde. Suivons l'éditeur et jetons un coup d'œil.

Les étudiants qui ont étudié Angular savent tous que la zone de saisie permet d'obtenir une liaison de données bidirectionnelle via <span style="font-family:NSimsun">[(ngModel)]</span> Les composants personnalisés peuvent également réaliser une liaison de données bidirectionnelle. ? La réponse est oui.

En Angular, nous devons souvent passer des crochets <span style="font-family:NSimsun">[]<code><span style="font-family:NSimsun">[]</span> et des crochets ()<span style="font-family:NSimsun">()</span>Réaliser l'interaction entre les composants :

Puis dans <span style="font-family:NSimsun">[]<code><span style="font-family:NSimsun">[]</span> et <span style="font-family:NSimsun">()</span>, comment implémenter la liaison de données bidirectionnelle des composants ? <span style="font-family:NSimsun">()</span>

Les exemples sont les suivants.

Sous-composant :

<!--testDataBinding.component.html-->

<h1>childStatus: {{childStatus}}</h1>
Copier après la connexion
//testDataBinding.component.ts

export class TestDataBindingComponent implements OnInit{
 @Input() childStatus;
 @Output() childStatusChange = new EventEmitter();
 ngOnInit(){
 setTimeout(()=>{
  this.childStatus = false;
  this.childStatusChange.emit(this.childStatus);
 },5000);
 }
}
Copier après la connexion
Faites attention à l'écriture ici. C'est la clé de la première moitié de la sortie. L'attribut doit être le même que l'attribut d'entrée. Les attributs d'entrée peuvent être nommés arbitrairement. L'attribut de sortie doit ajouter Change à l'attribut d'entrée. Par exemple, si votre attribut d'entrée est myData, alors l'attribut de sortie doit être. mesDonnéesChange.

Composant parent :

<!--app.component.html-->

<test-binding [(childStatus)]="parentStatus"></test-binding>
<h1>parentStatus: {{parentStatus}}</h1>
Copier après la connexion
//app.component.ts

import { Component,OnInit } from &#39;@angular/core&#39;;
@Component({
 selector: &#39;my-app&#39;,
 templateUrl: &#39;./app.component.html&#39;,
 styleUrls: [&#39;./app.component.css&#39;]
})
export class AppComponent implements OnInit{
 parentStatus: boolean = true;
 ngOnInit(){
 setTimeout(()=>{
  this.parentStatus = true;
 },10000);
 }
}
Copier après la connexion
Dans le composant parent, nous initialisons

<span style=" font -family:NSimsun">parentStatus<span style="color:#000000"></span></span> est <span style="font-family:NSimsun">true<code><span style="font-family:NSimsun">parentStatus</span> et le transmet au composant enfant TestDataBindingComponent<code><span style="font-family:NSimsun">true</span>. <span style="font-family:NSimsun">TestDataBindingComponent</span>

Dans le composant enfant, après 5 secondes, nous définissons <span style="font-family:NSimsun">childStatus<span style="color:#000000"></span></span> sur false<code><span style="font-family:NSimsun">childStatus</span> pour voir s'il peut être transmis au composant parent. Après 5 secondes supplémentaires, nous définissons <span style="font-family:NSimsun">parentStatus<code><span style="font-family:NSimsun">false</span> sur <span style="font-family:NSimsun"> dans le composant parent true<code><span style="font-family:NSimsun">parentStatus</span>, voyez s'il peut être transmis au composant enfant. <span style="font-family:NSimsun">true</span>

Il s'avère qu'après que la valeur du composant enfant change, la valeur du composant parent change également après que la valeur du composant parent change, le la valeur du composant enfant change également !

Nous avons mis en place une liaison bidirectionnelle !

Ce qui précède est ce que j'ai compilé pour vous. J'espère que cela vous sera utile à l'avenir.

Articles connexes :

Comment implémenter le chargement dynamique d'histogrammes dans AngularJs

Comment utiliser la portée dans la portée angulaire

Comment utiliser React pour implémenter le contrôle des autorisations de menu

Explication détaillée de la façon dont les accessoires dans vue.js transmettent les paramètres

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:php.cn
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