2017-04-09 3 views
2

Ich versuche, Daten mit $ emit vom Dienst an den Controller zu senden. Immer wenn ich console.log im Dienst bin, sind die Daten da, aber im Controller $ rootScope. $ On sehe ich die Daten nicht.

service.GetTest = function() { 
    var inside = this; 
    var promise = $http(
    { 
     method: 'POST', 
     url: inside.baseUrl + 'Admin/setTest', 
     contentType: 'application/json' 
    }); 
    promise.then(function (data) { 
     console.log(data); 
     $rootScope.$emit('monitor', data); 
    }) 
} 

$rootScope.$on('monitor', function (event,data) { 
     console.log(data); 
}); 
+0

Nach Ihren Änderungen in Ihrem Code, ist dies Arbeit für Sie? –

Antwort

1

$on ‚Ruf hat wieder die event erste. Ihre Funktion sollte function(event, data) sein, nicht function(data).

Auch sollten Sie in Betracht ziehen, das Versprechen von GetTest zurückzugeben. Es klingt wie eine Ressourcenmethode, die eine Kette versprechen sollte, anstatt ein Ereignis zu verwenden.

Verwandte Themen