如何在更改模板时卸载AngularJS指令

时间:2014-06-24 14:08:47

标签: angularjs angularjs-directive

我有一个使用AngularJS构建的Web应用程序,它包含各种路由/控制器/视图/等。

有几个视图需要我包含的指令。我注意到,当我更改路径并加载新模板时,旧模板中的指令继续运行。只需创建一个记录到控制台的指令,您就可以在加载新路径时继续记录它。

有没有办法避免这种情况?这似乎有点浪费记忆。

1 个答案:

答案 0 :(得分:5)

必须记住取消绑定指令中绑定的事件!

e.g。对于绑定到窗口的resize事件:

$scope.$on('$destroy',function() { angular.element($window).unbind('resize'); });