[AngularJS]当改变角控制器中删除 window.onresize

发布时间: 2017/4/16 20:27:42
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我有一个利用 ui 路由器的单个页面应用程序在列表页使用 listController 和详细页使用 detailController。
详细信息页面有 window.onresize 虽然列表页不附加事件。
问题是,每当我从详细信息页面移到列表页,onresize 事件的还是听并引发错误关于调整目标元素不存在。

如何删除 window.onresize 事件listener,当我在改变页面?

(function() {
    angular
        .module('app')
        .controller('listController', function() {
            // do things for list page
        })
        .controller('detailController', function() {
            window.onresize = function() {
                // do some resize function
            }
        })
})();

解决方法 1:

一旦远离导航路线和控制器实例将被破坏,您可以重置 onresize 功能。

$scope.$on('$destroy', function() {
   window.onresize = null
}
赞助商