我的index.html文件中有一个导航栏区域,其余内容位于ng-view内部的部分内容中。在导航栏中,它显示用户的用户名并具有注销链接。单击该链接会注销用户,我想将它们重定向回登录页面。
这是我在navBar控制器中的注销方法:
$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>
知道为什么不改变?
答案 0 :(得分:1)
如上述评论所述,请使用
<a href="" ng-click="logOut()">Logout</a>
而不是
<a href="#" ....