How to route without a templateUrl?

后端 未结 2 558
耶瑟儿~
耶瑟儿~ 2021-02-01 15:39

Ok. I have a url setup to log a user out. On the server, there is no html. The session on the server simply gets destroyed, and then the user is redirected to an address.

<
2条回答
  •  天涯浪人
    2021-02-01 16:37

    I am writing the solution based on the already accepted answer and the github issue mentioned in it's comments.


    The approach I am using is a resolve parameter in the $routeProvider. In my case I was trying to create a nice solution to logout in my application, when user goes to /logout.

    Example code of $routeProvider:

    app.config(['$routeProvider', function ($routeProvider) {
        $routeProvider.
            ...
            when('/logout', {
                resolve: {
                    logout: ['logoutService', function (logoutService) {
                        logoutService();
                    }]
                },
            }).
            ...
    }]);
    

    In the resolve part you specify a service (factory) by name and later on you have to call it. Still it is the nicest solution around.

    To make the example complete I present my logoutService:

    angular.module('xxx').factory('logoutService', function ($location, Auth) {
        return function () {
           Auth.setUser(undefined);
           $location.path('/');
        }
    });
    

    Works great!

提交回复
热议问题