使用AngularJS指令解析ngSrc后访问图像数据

时间:2015-09-24 08:49:16

标签: angularjs angularjs-directive

我试图编写angularjs指令来处理已经加载的img中的EXIF元数据。

我想要的用法:

<img ng-src="{{url}}" my-exif-directive />

我的指示非常基本:

...
restrict: 'A',
link: function(scope, element) {       
    var exifData = EXIF.readFromBinaryFile(/* ... */);
    rotate(parseInt(exifData.Orientation || 1, 10), element);
}
...

有没有办法进入图像缓冲区? 当我调试它时,ng-src参数仍未解析。这可能吗?

1 个答案:

答案 0 :(得分:1)

根据其他指令(例如"),可能无法在ng-repeat中插入属性和范围属性。还可以注意到,link可能不会被插值,而element.attr('attribute-name')会被插值。

通常这样做是安全的:

attrs.attributeName

如果其他指令不以类似的方式使用超时,则指令的DOM已经存在,以及插值。

由于涉及绑定,link: function(scope, element) { $timeout(function () { ... }); } 可能会随时间而变化,因此处理它的正确方法是:

src