次のテンプレートがあります。
<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
リクエストのロード中にロード インジケータを表示するのは論理的に思えますが、このリクエストをリッスンまたはキャプチャする方法があるかどうかはわかりません。
何か案は?