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

angularjs学习心得

发布时间:2020-12-17 09:52:06 所属栏目:安全 来源:网络整理
导读:1.在使用Angular Material对话框时,对话框显示以后,点击浏览器的返回按钮对话框不会消失的问题,解决方法就是监听$stateChangeStart事件,如果对话框已经显示则取消对话框并阻止下一步事件 .run(['$rootScope','$state','$stateParams','SessionStorage','

1.在使用Angular Material对话框时,对话框显示以后,点击浏览器的返回按钮对话框不会消失的问题,解决方法就是监听$stateChangeStart事件,如果对话框已经显示则取消对话框并阻止下一步事件

 .run(['$rootScope','$state','$stateParams','SessionStorage','ENV','$mdDialog','$document',function ($rootScope,$state,$stateParams,SessionStorage,ENV,$mdDialog,$document) {
            $rootScope.$state = $state;
            $rootScope.$stateParams = $stateParams;
            $rootScope.$on("$stateChangeSuccess",function (event,toState,toParams,fromState,fromParams) {
                // to be used for back button //won't work when page is reloaded.
                $rootScope.previousState_name = fromState.name;
                $rootScope.previousState_params = fromParams;
            });
            //back button function called from back button's ng-click="back()"
            $rootScope.back = function () {
                $state.go($rootScope.previousState_name,$rootScope.previousState_params);
            };
            $rootScope.$on('$stateChangeStart',function(event,fromParams,options){
                    if(angular.element($document[0].body).hasClass('md-dialog-is-showing')) {
                        $mdDialog.cancel();
                        event.preventDefault();
                    }
                });
        }
    ]);

(编辑:李大同)

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

    推荐文章
      热点阅读