我有以下模板:
<img ng-src="{% ng displayImage %}" alt="" />
<ul class="thumbnails" data-obj-id="{{ obj.id }}">
<li class="span2" ng-repeat="image in images">
<a class="thumbnail" href="#" ng-click="selectImage($index)">
<img ng-src="{% ng image.thumbnail %}" alt="" />
</a>
</li>
</ul>
{%ng something }
翻译成{{ something }}
.
和指令:
angular.module('profileDirectives', []).
directive('thumbnails', function() {
return {
restrict: 'C',
transclude: false,
controller: function ($scope, $element, $attrs, Image, $window) {
$scope.images = Image.query({
obj_id: $attrs.objId
}, function() {
$scope.selectImage(0);
});
$scope.selectImage = function(index) {
$scope.displayImage = $scope.images[index].image;
}
}
}
});
这样做是加载图像列表并在您单击缩略图时进行$scope.images
更改。ng-src
这工作正常,但是有些图像需要一些时间来加载,因此加载指示器似乎是必要的。侦听由于值更改而发生的图像 HTTP GET 请求似乎是合乎逻辑的ng-src
,并在请求加载时显示加载指示器,但我不确定是否有办法侦听或捕获此请求。
有任何想法吗?