Comment «redémarrer» l'application angularjs

Dans mon application AngularJS j'ai un service qui est basé sur WebSocket. Si la connexion WebSocket pauses, je veux pleinement "redémarrer" l'application (aller à la page par défaut de $route, recréer le service, etc.). Est réalisable? Voilà comment j'ai commencé, mais à partir de ce moment la, je n'ai aucune idée de comment procéder:

Module:

(function () {
    angular.module('mainModule', ['ngRoute'])
        .config(['$routeProvider', function ($routeProvider) {
            $routeProvider.
            when('/home', {

                templateUrl: 'partials/home.html',
                controller: 'appController'
            }).
            when('/register', {

                templateUrl: 'partials/register.html',
                controller: 'appController'
            }).
            otherwise({
                redirectTo: '/home'
            });
        }]);
}());

Service:

(function () {

    var app = angular.module('mainModule');

    app.service('$wsService', ['$q', '$window', function ($q, $window) {

        $window.console.log("WebSocket SERVICE: started");

        var self = this;
        var ws = new WebSocket("ws://127.0.0.1:9090");
        this.isConnected = function (m) {};

        ws.onopen = function () {
            $window.console.log("WebSocket SERVICE: connected");
            self.isConnected(true);
        };

        ws.onmessage = function (m) {
            //do whatever I want to do
        };

        ws.onerror = function () {
            $window.console.log("WebSocket SERVICE: disconnected");
            self.isConnected(false);
        };

    }]);
}());

Contrôleur:

(function () {

    var app = angular.module('mainModule');

    app.controller('appController', ['$route', '$scope', '$wsService', function ($route, $scope, $wsService) {

        $wsService.isConnected = function (m) {
            //restart logic
        };
    }]);
}());

De sorte que mon "redémarrer la logique" j'ai essayé "$route.reload();" mais comme vous le savez déjà, il ne fait pas ce dont j'ai besoin. Finalement je vais avoir un message d'avertissement pop-up (bootstrap modal) informant l'utilisateur que la connexion a été perdue, et sur un bouton, cliquez sur dans le modal, il va recharger l'application et allez dans /home. Je ne demande pas comment faire, popup, etc comme c'est déjà fait. Comme pour l'instant, cependant, j'ai besoin de comprendre, juste de la logique pour un total de rechargement de l'application. Des idées? Merci.

source d'informationauteur Daniel Gruszczyk