微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

angularjs学习心得

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();
                    }
                });
        }
    ]);

原文地址:https://www.jb51.cc/angularjs/148751.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐