Appelez la fonction de contrôleur du service dans angularjs
Je suis à l'aide d'une douille.io pour activer le chat de mon application et je suis en utilisant un service de SocketService
pour effectuer toutes les socket choses. Lorsqu'un message est arrivé alors je veux déclencher une fonction d'un contrôleur du service SocketService
à faire quelques changements dans l'INTERFACE utilisateur.
Donc, je veux savoir comment puis-je accéder à la fonction de contrôleur du service.
Exemple De Code:
.service('SocketService', function ($http,$rootScope,$q) {
this.connect = function(){
var socket = io();
socket.on('connect',function(){
//Call a function named 'someFunction' in controller 'ChatController'
});
}
});
C'est l'exemple de code pour le service.
Maintenant le code pour contrôleur
.controller('ChatController',function('SocketService',$scope){
$scope.someFunction = function(){
//Some Code Here
}
});
source d'informationauteur Vinit Chouhan
Vous devez vous connecter pour publier un commentaire.
Que vous pourriez réaliser cela en utilisant angulaire des événements
$broadcast
ou$emit
.Dans votre cas
$broadcast
serait utile,Vous avez besoin de diffuser votre événement dans
$rootscope
qui peut être écouter par tous les enfants étendues qui a$on
avec le même nom de l'événement.CODE
Espère que cela pourrait vous aider, Merci.
Je sais que c'est une vieille question, mais j'ai une autre option. J'ai une préférence personnelle à l'encontre de $de la diffusion, il ne semble pas très "angularish", je préfère faire des appels explicites dans mon code.
Ainsi, au lieu de la radiodiffusion pour le contrôleur et le déclenchement d'un autre digérer cycle, je préfère avoir le contrôleur s'inscrire au service, comme ci-dessous. Il suffit de faire attention à ne pas introduire de dépendances circulaires si le contrôleur utilise le même service. Cela fonctionne mieux avec de la controllerAs de la syntaxe, de sorte que le service d'appel n'a pas besoin de se soucier de $champ d'application.
Oui, c'est que le code $de diffusion, mais il donne au service d'un accès total à l'ensemble de la commande - ensemble de méthodes et de propriétés.