加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – Angular UI路由器$transitions.onBefore

发布时间:2020-12-17 17:46:08 所属栏目:安全 来源:网络整理
导读:我使用角度ui路由器版本1.0.0-alpha.4,因为默认情况下根目录事件是非活动的我想到使用新的方式实现auth机制如下. .run(['$transitions','$timeout','$q','$state','AuthService',($transitions,$timeout,$q,$state,AuthService) = { $transitions.onBefore({
我使用角度ui路由器版本1.0.0-alpha.4,因为默认情况下根目录事件是非活动的我想到使用新的方式实现auth机制如下.

.run(['$transitions','$timeout','$q','$state','AuthService',($transitions,$timeout,$q,$state,AuthService) => {
  $transitions.onBefore({ to: 'app.*',from: '*' },() => {
    const deferred = $q.defer();
    AuthService.isLoggedIn().then(() => {
      deferred.resolve()
    },() => {
      // redirect to error page 
      // how can i redirect user to error page. $state.go('error') not working. 
      deferred.reject()
    });
    return deferred.promise;
  },{priority: 10});
}])

但问题是我不知道如何将用户重定向到错误页面.我尝试使用$state.go(‘error’)似乎无法正常工作.有什么建议?

解决方法

酷我发现了解决方案.将此发布给可能提出相同问题的任何人.您所需要的就是如下解决承诺.

deferred.resolve($state.target('error',undefined,{ location: true }))

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读