2015-03-08 77 views
2

我有一個內置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頁面,它只是簡單顯示You have logged out而我想將用戶重定向到我的main.html頁面。但是,當我將templateUrl更改爲mysite/views/main.html時,LogoutCtrl未被調用,並且用戶沒有真正註銷。

問題

有沒有辦法,他註銷成功(這意味着在logout.js邏輯被執行)

回答

3

與以下只需更換後,我可以將用戶重定向到main.html:(它將執行註銷邏輯並會顯示你的頁面)

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

有你幾乎包括您的index.html JS文件,它將確保在使用其之前,你的控制器註冊? – 2015-03-08 20:49:53