博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ui-router实现返回上一页功能
阅读量:5211 次
发布时间:2019-06-14

本文共 2204 字,大约阅读时间需要 7 分钟。

angular.module('ConsoleUIApp', ['ui.router','ui.bootstrap'])        .config(function ($stateProvider, $urlRouterProvider, $httpProvider) {            // For any unmatched url, redirect to /state1            $urlRouterProvider.otherwise("/home");            $stateProvider                .state('home', {                    url: "/home",                    templateUrl: "views/home.html",                    controller: 'HomeCtrl'                })        })        .run(function($rootScope, $state, $stateParams) {           // previous state handling      $rootScope.previousState = {};      $rootScope.$on('$stateChangeSuccess',  function(event, toState, toParams, fromState, fromParams) {        // store previous state in $rootScope       $rootScope.previousState.name = fromState.name;         $rootScope.previousState.params = fromParams;      });        });

 

back-button directive :

yourModule.directive('backButton', [    '$rootScope',    '$state',    '$parse',function($rootScope, $state, $parse) {    return {        restrict: 'EA',        link: function(scope, el, attrs) {            var defaultState              , defaultStateParams;            el.click(function() {                var stateName                  , stateParams;                if ($rootScope.previousState.name) {                    stateName = $rootScope.previousState.name;                    stateParams = $rootScope.previousState.params;                }                else {                    stateName = defaultState;                    stateParams = defaultStateParams;                }                if (stateName)                    $state.go(stateName, stateParams);            });            attrs.$observe('defaultState', function() {                defaultState = attrs.defaultState;            });            attrs.$observe('defaultStateParams', function() {                defaultStateParams = $parse(attrs.defaultStateParams)(scope);            });            $rootScope.$watch('previousState', function(val) {                el.attr('disabled', !val.name && !defaultState);            });        }    };}]);

 https://github.com/angular-ui/ui-router/issues/92

转载于:https://www.cnblogs.com/ImaY/p/7127013.html

你可能感兴趣的文章
PHP 位运算(&, |, ^, ~, <<, >>)及 PHP错误级别报告设置(error_reporting) 详解
查看>>
PHP格式化金钱函数
查看>>
FMS 客户端带宽计算、带宽限制
查看>>
BZOJ 4552 [Tjoi2016&Heoi2016]排序
查看>>
Cookie存取上次浏览记录
查看>>
C++11六大函数(构造函数,移动构造函数,移动赋值操作符,复制构造函数,赋值操作符,析构函数)...
查看>>
第一阶段冲刺(第三天)
查看>>
Spring+Maven学习实验- Spring AOP面向切面编程(一)
查看>>
WPF学习之路一
查看>>
MySQL prepare 原理
查看>>
Knockout.js 学习 (七)-- 控制文本和外观的绑定
查看>>
Database
查看>>
URAL 1430 Crime and Punishment
查看>>
liunx vim常用操作命令
查看>>
在a标签中使用了onclick修改样式之后a:hover失效
查看>>
War3Tool dota改键v3.3版
查看>>
oracle常用命令【转载】
查看>>
onkeyup事件只能输入数字,字母,下划线
查看>>
http长连接
查看>>
装饰模式之美
查看>>