更改 angular 控制器时删除 window.onresize

Remove window.onresize when changing angular controller

我有一个使用 ui-router 的单页应用程序,其中列表页面使用 listController,详情页面使用 detailController。
详细信息页面有 window.onresize 事件附加,而列表页面没有。
问题是每当我从详细信息页面移动到列表页面时,onresize 事件仍然监听并抛出有关调整大小目标元素不存在的错误。

如何在我更改页面时删除 window.onresize 事件侦听器?

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

一旦路由离开并且控制器实例被销毁,您可以重置 onresize 函数。

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