Angularjs 如何使socket.io在控制器/视图更改时侦听事件(angular js)
这是我的控制器Angularjs 如何使socket.io在控制器/视图更改时侦听事件(angular js),angularjs,socket.io,Angularjs,Socket.io,这是我的控制器 angular .module('hoApp') .controller('adminmapCtrl', adminmapCtrl); function adminmapCtrl ($scope,socket) { $scope.positions = []; socket.on('client', function(data) { $scope.$apply(function(){ $scope.client = data;
angular
.module('hoApp')
.controller('adminmapCtrl', adminmapCtrl);
function adminmapCtrl ($scope,socket) {
$scope.positions = [];
socket.on('client', function(data) {
$scope.$apply(function(){
$scope.client = data;
});
});
socket.on('positions', function(data) {
$scope.$apply(function(){
$scope.positions.push(data);
});
});
}
我的问题是,一旦我更改控制器/视图套接字。io停止侦听事件,我希望套接字继续侦听事件,以便在我返回控制器/视图时可以获取位置和客户端的新值
angular
.module('hoApp')
.factory('socket', socket);
function socket ($rootScope) {
var socket = io.connect('http://127.0.0.1:3000');
return {
on: function(eventName, callback){
socket.on(eventName, callback);
},
emit: function(eventName, data) {
socket.emit(eventName, data);
}
};
}
这是我的socket服务你能发布你的socket服务的代码吗?这是我的socket服务我对代码做了更改,请有人给我一个解决方案。