【发布时间】:2016-07-16 09:25:04
【问题描述】:
我最近一直在编写许多 Angular 指令,并且一直在阅读有关在指令被销毁时必须手动删除您在指令中创建的内容的信息。不过还是有点不清楚。
我知道 $scope 上的任何东西都会被销毁,但是在指令的控制器中创建的局部变量、数组、函数等呢?
这是我的应用程序中的一些示例代码
angular.module('myModule').controller('s4pFileUploadCtrl', function($scope, $element, $attrs, FileUploader){
var self = this;
self.uploader = new FileUploader({
settings: {}
});
// Elsewhere in the controller
var reader = new FileReader();
reader.onload = onLoadFile;
function onLoadFile(event) {
var img = new Image();
img.onload = onLoadImage;
}
});
这是一个人为的并且非常精简的功能,但是我需要在 $scope 销毁事件中删除上传器吗?我需要对 FileReader 做任何事情吗?它与 onLoadFile 事件相关联?
任何帮助将不胜感激。我已经阅读了大量关于清理指令的文章,但没有一篇提到过这样的事情。
【问题讨论】:
标签: javascript angularjs angularjs-scope angular-directive