Ich benutze socket.io, um Chat in meiner App zu aktivieren, und ich verwende einen Service SocketService
, um alle Socket Zeug durchzuführen. Wenn eine Nachricht kam, möchte ich eine Funktion eines Controllers vom Dienst SocketService
auslösen, um einige Änderungen in der Benutzeroberfläche vorzunehmen. Also ich möchte wissen, wie kann ich auf die Funktion eines Controllers aus dem Dienst zugreifen. Beispielcode:Call-Controller-Funktion aus Service in angularjs
.service('SocketService', function ($http,$rootScope,$q) {
this.connect = function(){
var socket = io();
socket.on('connect',function(){
// Call a function named 'someFunction' in controller 'ChatController'
});
}
});
Dies ist der Beispielcode für den Dienst.
Jetzt ist der Code für die Steuerung
.controller('ChatController',function('SocketService',$scope){
$scope.someFunction = function(){
// Some Code Here
}
});
[http://stackoverflow.com/questions/20621028/angularjs-calling-a-controller-function-from-a-service][1] [1]: http: //stackoverflow.com/questions/20621028/angularjs-calling-a-controller-funktion-from-a-service – TechnoCrat