AngularJS $ state.go没有重定向到其他页面

时间:2017-02-23 06:54:59

标签: angularjs state.go

以下是我的控制器代码,

app.controller('logoutCtrl', ['$scope', '$http','$window','$state',
  function ($scope, $http,$window,$state) {

        $scope.logout = function() {
          console.log('inside logmeout');
          delete $window.sessionStorage.token;
          $state.go('access.login');
        };

  }]);

HTML

<li class="last" ng-controller="logoutCtrl">
    <a href="" ng-click="logout()">
         <i class="material-icons">lock</i> Logout
    </a>
</li>

app.router.js

            .state('access', {
                url: '/access',
                template: '<div ui-view class=""></div>'
            })
            .state('access.login', {
                url: '/login',
                templateUrl: 'partials/ui-login.html',
                controller: 'LoginFormController',
                resolve: {
                    deps: ['uiLoad',
                        function(uiLoad) {
                            return uiLoad.load(['scripts/controllers/login.js',
                                '../bower_components/font-awesome/css/font-awesome.css']);
                        }
                    ]
                }
            })

单击注销时,我无法重定向到另一个状态('access.login')。 控件进入logout()并能够打印控制台消息,并且正在删除令牌,但重定向没有发生.. 我可以得到任何帮助..

2 个答案:

答案 0 :(得分:1)

在模块定义中,您需要将'ui.router'作为依赖项传递,以便在项目中使用Angular-UI-Router:

E.g。 angular.module('my_app',['ionic','ui.router'])

它也适合我。

  

$ state.go( '的状态名称管理在引号')

答案 1 :(得分:0)

如果您的网页显示在视图中,请不要忘记在您要显示网页的父页面中包含ui-view。

<div ui-view>
  <!-- Child page will appear here -->
</div>