ПОдскажите, может есть какой-нибудь евент, типа "controller reload" или что то похожее.
.controller('chatNotificationCtrl', ['$scope', 'socket', 'toastr', '$rootScope', '$state', function($scope, socket, toastr, $rootScope, $state) {
alert('REFRESHED')
$scope.chatNotifications = {};
console.log('STARTED NOTIFICATION CONTROLLER');
if ($scope.logged) {
$scope.chatNotifications = $scope.logged.chatNotify;
} else {
return;
}
socket.on('notify:chat', function(data) {
console.log('NOTIFY CHAT');
$scope.chatNotifications.unshift(data);
toastr.success('Example', 'New Message');
});
$rootScope.$on('$stateChangeStart', function(event, toState, toParams, fromState, fromParams) {
socket.getSocket().removeAllListeners();
})
}])
Сделал так пока что, но если меняется стейт - это не значит что всегда перезапускается контроллер, есть вложенные роуты просто..