2017-04-09 50 views
2

我想從服務發送數據到$ emit的控制器。每當我在服務中的console.log中都有數據,但是在控制器$ rootScope。$上,我看不到數據。

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

在您的代碼中進行修改後,這對您有用嗎? –

回答

1

$on的回調有event第一。你的功能應該是function(event, data),而不是function(data)

此外,您應該考慮從GetTest返回承諾。這聽起來像一個資源方法,應該承諾鏈而不是使用事件。