В общем получилось вылечить библиотекой
https://github.com/btford/angular-socket-io и удалением при дестрое, код может кому пригодится:
app.controller("some_controller", [
'angular-socket-io',
'$scope',
function (socketio, $scope) {
var self = this;
socketio.emit('load_data',{});
socketio.on('load_data', function (data) {
console.log(data);
});
$scope.$on('$destroy', function () {
socket.removeListener('load_data');
});
}
]);
2 вариант добавить в исходную фабрику метод removeListener (подсмотрено в библиотеке angular-socket-io) и вызывать его вместо подключения библиотеки
removeListener: function (ev, fn) {
if (fn && fn.__ng) {
arguments[1] = fn.__ng;
}
return socket.removeListener.apply(socket, arguments);
}
При разрушении вида удаляется обработчик с события =) всем спасибо