Maison > interface Web > js tutoriel > le corps du texte

Comment utiliser $on et $broadcast pour la communication événementielle dans Angular ?

Susan Sarandon
Libérer: 2024-10-26 15:42:02
original
559 Les gens l'ont consulté

How to Use $on and $broadcast for Event Communication in Angular?

Communication événementielle en Angular : $on et $broadcast

En Angular, la communication événementielle est cruciale pour coordonner les interactions entre les différentes parties d'une application . $on et $broadcast sont des mécanismes angulaires de base qui permettent la diffusion et la gestion efficaces des événements entre les composants.

Comprendre $on et $broadcast

  • $broadcast : Émis par une portée pour notifier tous ses descendants (scopes enfants) et la chaîne parent de la portée d'un événement spécifique.
  • $on : Enregistré par une portée pour écoutez les événements spécifiques diffusés à partir de la portée actuelle, de ses portées parents ou de ses portées enfants.

Implémentation de la communication événementielle dans votre exemple

Dans votre cas, vous souhaitez qu'un événement de clic dans le contrôleur de pied de page déclenche un événement qui peut être géré par le contrôleur du scanner de code. Pour y parvenir :

1. Diffuseur (footerController) :

  • Utilisez $rootScope pour diffuser l'événement, car il englobe toutes les étendues de l'application.
  • Définissez une fonction comme celle-ci dans le footerController :
$scope.startScanner = function() {
    $rootScope.$broadcast('scanner-started');
}
Copier après la connexion

2. Récepteur (codeScannerController) :

  • Utilisez $on pour écouter l'événement de diffusion dans le codeScannerController :
$scope.$on('scanner-started', function(event, args) {
    // Your logic here
});
Copier après la connexion

Capacités supplémentaires :

  • Vous pouvez transmettre des arguments lors de la diffusion d'événements en utilisant $broadcast('event-name', { any: {} }).
  • En conséquence, vous pouvez recevoir ces arguments dans le gestionnaire d'événements du destinataire.

Documentation de référence :

Pour des informations plus détaillées, reportez-vous à la documentation officielle d'Angular sur les scopes : https://docs.angularjs. org/api/ng/type/$rootScope.Scope

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!

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal