Maison  >  Article  >  interface Web  >  Comment utiliser $on et $broadcast pour la communication événementielle dans Angular ?

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

Susan Sarandon
Susan Sarandonoriginal
2024-10-26 15:42:02460parcourir

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');
}

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
});

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!

Déclaration:
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