zoukankan      html  css  js  c++  java
  • ui-router 1.0 002 未登录跳转到login

    ui-router transitionhooks

    统一控制路由跳转, 前台控制如果没有登录就跳转到登录页面, 当然也可以在后台控制, 如果没有登录就返回对应的错误码, 然后在response中直接跳转

    监听$transitions.onStart事件

    1. 监听所有的state
    angular.module('secu',['ui.router'])
            .run(function($rootScope, $transitions, $state) {
                $transitions.onStart({}, function(trans) {
                    var stateName = trans.to().name;
                    if ((stateName == 'admin.traininer' || stateName == 'admin.miss') && !localStorage.getItem('sessionid')) {
                        return trans.router.stateService.target('login');
                    }
                })
            });
    
    1. 监听指定的state
    angular.module('secu',['ui.router'])
            .run(function($rootScope, $transitions, $state) {
                $transitions.onStart({
                    to: function(state) {
                        return (['admin.traininer', 'admin.miss']).indexOf(state.name) > -1;
                    }
                }, function(trans) {
                    var stateName = trans.to().name;
                    if (!localStorage.getItem('sessionid')) {
                        // 下面的代码完成redirect
                        return trans.router.stateService.target('login');
                        // 如果直接返回false 则是放弃当前的state跳转
                        // return false
                    }
                })
            });
    

  • 相关阅读:
    搜刮一些开源项目的APP
    iOS Crash文件的解析
    iOS中RGB颜色转换
    随笔杂记
    iOS字体
    方法总结
    经验点滴
    个人理解
    OC 知识点回顾
    IOS UI 笔记整理回顾
  • 原文地址:https://www.cnblogs.com/wancy86/p/7580975.html
Copyright © 2011-2022 走看看