Laz*_*ale 8 javascript javascript-events angularjs angular-ui angularjs-scope
我想在angularjs控制器中激活js代码.
我有这个:
$scope.$on('$destroy', function () {
alert('page1');
});
Run Code Online (Sandbox Code Playgroud)
当我正在使用该控制器的页面导航时,这工作正常,但是当我关闭标签/浏览器时,它无法正常工作.
当标签/浏览器关闭时,我是否需要使用其他一些代码来激活js代码?
提前谢谢,Laziale
从角度文档:
$ destroy()方法;
从父作用域中删除当前作用域(及其所有子作用域).删除意味着对$ digest()的调用将不再传播到当前范围及其子节点.删除还意味着当前范围符合垃圾收集的条件.
$ destroy()通常由诸如ngRepeat之类的指令用于管理循环的展开.
在范围被销毁之前,在此范围内广播$ destroy事件.应用程序代码可以注册$ destroy事件处理程序,使其有机会执行任何必要的清理.
请注意,在AngularJS中,还有一个$ destroy jQuery事件,可以在从DOM中删除元素之前清除DOM绑定.
这只是处理范围本身被破坏的情况,但是当标签/浏览器关闭时似乎不会发生.
你将不得不使用低级方法onunload和onbeforeunload事件来处理这种情况,这是另一个你可能会觉得有用的帖子:
| 归档时间: |
|
| 查看次数: |
22536 次 |
| 最近记录: |