【发布时间】:2016-06-07 15:39:34
【问题描述】:
我有一个使用 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
}
})
})();
【问题讨论】:
-
也许只是将
window.onresize设置为null或listController中的新/空函数? -
我想这是个坏主意,因为控制器会添加更多页面。我不想为所有控制器添加这样的冗余。
-
那你可以在视图卸载上做,但是我没有及时想到,在下面的答案中,只需在同一个范围(控制器)上添加 Rob Glass 建议的功能,其中你设置了
window.onresize。
标签: javascript angularjs onresize