我有一个使用AngularJS构建的Web应用程序,它包含各种路由/控制器/视图/等。
有几个视图需要我包含的指令。我注意到,当我更改路径并加载新模板时,旧模板中的指令继续运行。只需创建一个记录到控制台的指令,您就可以在加载新路径时继续记录它。
有没有办法避免这种情况?这似乎有点浪费记忆。
答案 0 :(得分:5)
必须记住取消绑定指令中绑定的事件!
e.g。对于绑定到窗口的resize事件:
$scope.$on('$destroy',function()
{
angular.element($window).unbind('resize');
});