2015-03-08 5 views
2

У меня есть передний конец, встроенный в угол. У меня есть следующий код в 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, которая просто показывает You have logged out, скорее я хочу перенаправить пользователя на мою страницу main.html. Однако, когда я меняю templateUrl на mysite/views/main.html, тогда LogoutCtrl не вызывается и пользователь не выйдет из системы.

Вопрос

Есть ли способ, я могу перенаправить пользователя на main.html после того как он выходит из успешно (то есть логика в logout.js запускается на выполнение)

ответ

3

Просто замените следующее: (Он будет выполнять выход из системы логика и покажет вашу страницу)

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

У вас есть файл js в вашем index.html, он будет проверять, что ваш контроллер зарегистрирован до его использования? –

Смежные вопросы