2

我的 index.html 文件中有一个导航栏区域,其余内容位于 ng-view 中。在导航栏中,它显示用户的用户名并有一个注销链接。单击该链接注销用户,我想将他们重定向回登录页面。

这是我的导航栏控制器中的注销方法:

 $scope.logOut = function () {
    console.log('logging out');
    StackmobService.logout();
    $location.path('/logout');
    $scope.currentUser='';
};

我的路由器如下:

$routeProvider.
    when('/register', {templateUrl: 'partials/register.html',   controller: 'LoginCtrl'}).
    when('/login', {templateUrl: 'partials/login.html',   controller: 'LoginCtrl'}).
    when('/home', {templateUrl: 'partials/home.html',   controller: 'LoginCtrl'}).
    when('/events', {templateUrl: 'partials/events.html',   controller: 'EventCtrl'}).
    when('/logout', {templateUrl: 'partials/register.html',   controller: 'LoginCtrl'}).
    otherwise({redirectTo: '/home'});

这是我的 index.html 文件的主体部分:

<div class="container">

    <div class="navbar" ng-controller="NavBarCtrl">
        <a class="navbar-brand" href="#">spreevent</a>
        <ul class="nav navbar-nav">
            <li class="active"><a href="#">Home</a></li>
            <li><a href="#">Link</a></li>
        </ul>
        <p class="navbar-text pull-right" ng-show="currentUser.username">
            Welcome {{currentUser.username}}
            <a href="#"  ng-click="logOut()">Logout</a>
        </p>

    </div>

    <ng-view></ng-view>
</div>

知道为什么它没有改变吗?

4

1 回答 1

1

如上面评论中所述,使用

<a href="" ng-click="logOut()">Logout</a>

而不是

<a href="#" .... 
于 2013-08-16T19:43:32.570 回答