注销后如何重定向用户

时间:2015-03-08 20:29:57

标签: javascript angularjs angularjs-scope

我有一个Angular内置的前端。当用户点击退出时,我在app.js中有以下代码。

  .when('/logout', {
    templateUrl: 'mysite/views/logout.html',
    resolve: {
      authenticated: ['djangoAuth', function(djangoAuth){
        return djangoAuth.authenticationStatus();
      }],
    }
  })

logout.js包含

'use strict';

angular.module('angularDjangoRegistrationAuthApp')
  .controller('LogoutCtrl', function ($scope, $location, djangoAuth) {
    djangoAuth.logout();
  });

logout.html只包含以下内容:

<div id="logout_view" ng-controller="LogoutCtrl">
    <div class="alert alert-info">You have logged out.</div>
</div>

所有这一切都正常,但是,当用户点击/logout时,我不想显示仅显示logout.html的{​​{1}}页面,而是希望将用户重定向到我的You have logged out页面。但是,当我将main.html更改为templateUrl时,则不会调用mysite/views/main.html,并且用户实际上并未注销。

问题

有没有办法可以在用户成功注销后将用户重定向到LogoutCtrl(意味着main.html中的逻辑被执行)

1 个答案:

答案 0 :(得分:3)

只需替换为以下内容:(它将执行注销逻辑并显示您的页面)

.when('/logout', {
    templateUrl: 'mysite/views/main.html',
    controller: LogoutCtrl,
    resolve: {
      authenticated: ['djangoAuth', function(djangoAuth){
        return djangoAuth.authenticationStatus();
      }],
    }
  })