2017-03-15 1 views
-1

J'ai vu quelques exemples pour la diffusion là j'ai observé qu'il est pour envoyer des données du contrôleur parent au contrôleur enfant seulement, mais par défaut le contrôle enfant a accès au contrôleur parent alors quel est son but spécifique? s'il vous plaît ne pas apporter rootscope, si nous utilisons rootscope puis pas besoin de diffuser et d'émettreQuel est le but principal de broadcast dans angularJS?

+0

il s'agit d'une expédition d'événements – InferOn

+4

duplication possible de [Pourquoi utilisons-nous $ rootScope. $ Diffusion dans AngularJS?] (Http://stackoverflow.com/questions/24830679/why-do-we-use-rootscope-broadcast -in-angularjs) – Ankh

+0

http://stackoverflow.com/questions/24830679/why-do-we-use-rootscope-broadcast-in-angularjs – Faraz

Répondre

0

Il n'a pas seulement accès aux données. Dans certains cas, lorsque vous devez effectuer certaines actions (dans le contrôleur parent) en fonction des événements déclenchés (dans le contrôleur enfant), vous pouvez utiliser la diffusion.

+0

merci pour votre temps – anilkumar

0

Si vous n'utilisez pas $rootScope, vous devez nommer chaque fonction de rappel $scope.$on() que vous avez utilisée pour recevoir l'événement émis par l'original $broadcast, à moins que vous n'ayez qu'un seul récepteur. Si vous ne nommez pas les fonctions de rappel, seul un $scope.$on fonctionnera (le dernier à être "créé", car il remplacera les fonctions précédentes). Ainsi, en disposant de plusieurs récepteurs pour un émetteur, vous pouvez, par exemple, synchroniser plusieurs vues. Dites que vous modifiez la variable age d'un utilisateur dans une page (où il peut être modifié) et trois autres pages doivent afficher cette variable mise à jour - vous pouvez $broadcast à toutes les 3 pages.

+1

thq pour votre temps – anilkumar