Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 关闭选项卡/浏览器时触发Angularjs事件_Javascript_Angularjs_Angularjs Scope_Dom Events_Angular Ui - Fatal编程技术网

Javascript 关闭选项卡/浏览器时触发Angularjs事件

Javascript 关闭选项卡/浏览器时触发Angularjs事件,javascript,angularjs,angularjs-scope,dom-events,angular-ui,Javascript,Angularjs,Angularjs Scope,Dom Events,Angular Ui,我想在Angularjs控制器中启动JS代码 我有这个: $scope.$on('$destroy', function () { alert('page1'); }); 当我离开使用该控制器的页面时,它工作正常,但当我关闭选项卡/浏览器时,它不工作 当tab/browser关闭时,是否需要使用其他代码来触发JS代码?来自angular docs: $destroy() 从中删除当前作用域(及其所有子项) 父范围。删除意味着对$digest()的调用不会

我想在Angularjs控制器中启动JS代码

我有这个:

$scope.$on('$destroy', function () {
            alert('page1');
        });
当我离开使用该控制器的页面时,它工作正常,但当我关闭选项卡/浏览器时,它不工作

当tab/browser关闭时,是否需要使用其他代码来触发JS代码?

来自angular docs:

$destroy()

从中删除当前作用域(及其所有子项) 父范围。删除意味着对$digest()的调用不会 传播到当前作用域及其子级的时间更长。删除也 表示当前作用域有资格进行垃圾收集

$destroy()通常由指令使用,例如ngRepeat for 管理循环的展开

在销毁作用域之前,会在上广播$destroy事件 这个范围。应用程序代码可以注册$destroy事件处理程序 这将使它有机会进行任何必要的清理

注意,在AngularJS中,还有一个$destroy jQuery事件 可用于在从中删除元素之前清理DOM绑定 大教堂

这只是处理作用域本身被破坏的情况,但在关闭选项卡/浏览器时似乎不会发生这种情况

您必须使用onLoad和onbeforeunload事件的低级方法来处理这种情况,下面是另一篇您可能会发现有用的文章: