首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >permission angularJS $routeChangeStart和$stateChangeSuccess

permission angularJS $routeChangeStart和$stateChangeSuccess
EN

Stack Overflow用户
提问于 2018-11-16 17:55:41
回答 1查看 60关注 0票数 1

我正在尝试在angular JS中使用$routeChangeStart,但它不起作用。我想要做的是让$routeChangeStart$stateChangeSuccess一起工作

代码语言:javascript
运行
复制
angular.module('app').run(['$rootScope','$location', '$state', '$stateParams', 'loginService', 
  function($rootScope, $location, $state, $stateParams, loginService) {
    $rootScope.$state = $state;
    $rootScope.$stateParams = $stateParams;
    var routespermission=['/'];
    $rootScope.$on('$routeChangeStart', function(){     
        alert('testing');
        console.log('>>exit tab: '+routespermission.index0f($location.path()));
        console.log('>>logged:' +loginService.islogged());
        if(routespermission.index0f($location.path()) !=-1 && !loginService.islogged()){
            $location.path('/login');
        }
    });
    $rootScope.$on('$stateChangeSuccess', function() {
        window.scrollTo(0, 0);
        console.log('testing');
    });
    FastClick.attach(document.body);

  },
])
EN

回答 1

Stack Overflow用户

发布于 2018-11-18 00:16:40

UI-路由器,我想使代码可以在UI-路由器上使用

使用$stateChangeStart而不是$routeChangeStart

代码语言:javascript
运行
复制
app.run(function($rootScope, $location, $state, $stateParams, loginService) {
    $rootScope.$state = $state;
    $rootScope.$stateParams = $stateParams;
    var routespermission=['/'];
    ̶$̶r̶o̶o̶t̶S̶c̶o̶p̶e̶.̶$̶o̶n̶(̶'̶$̶r̶o̶u̶t̶e̶C̶h̶a̶n̶g̶e̶S̶t̶a̶r̶t̶'̶,̶ ̶f̶u̶n̶c̶t̶i̶o̶n̶(̶)̶{̶ ̶
    $rootScope.$on('$stateChangeStart', function(){     
        alert('testing');
        console.log('>>exit tab: '+routespermission.index0f($location.path()));
        console.log('>>logged:' +loginService.islogged());
        if(routespermission.index0f($location.path()) !=-1 && !loginService.islogged()){
            $location.path('/login');
        }
    });
    $rootScope.$on('$stateChangeSuccess', function() {
        window.scrollTo(0, 0);
        console.log('testing');
    });
    FastClick.attach(document.body);
})

有关详细信息,请参阅UI-Router 0.3.1 Api Reference - $state

对于ui.router >= 1.0,StateChange事件已弃用。

有关详细信息,请参阅UI Router stateChangeSuccess event not firing

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53335347

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档