当用户关闭应用程序时,我需要执行一个函数,但是需要考虑以下几点:
service
onLocationChangeSuccess
因此此解决方案将无法正常工作:https : //stackoverflow.com/a/18355715/773595
因为这会在每次位置更改时触发,但是我只需要在关闭选项卡/窗口时触发一次。
您可以在控制器/指令中注册onbeforeunload,然后就可以访问作用域。如果需要服务,我会将其注册到angular.run生命周期中。
angular.module('app', []) .controller('exitController', function($scope, $window) { $scope.onExit = function() { return ('bye bye'); }; $window.onbeforeunload = $scope.onExit; }); <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> <div ng-app="app" ng-controller="exitController"> <a href="http://www.disney.com">Leave page</a> </div>