已编辑
$scope.images
我需要根据元素大小使用函数处理数组。
test.html 看起来像这样
<div image-gallery>
<div ng-repeat='img in images'>
<img ng-src='{{img.thumbnail}}' style='width: {{img.newwidth}}'>
</div>
</div>
我只是想知道如何创建一个简单的图像库指令,该指令将在函数上使用它自己的宽度,例如
$scope.images = CreateThumbnails($scope.images, element.innerWidth())
CreateThumbnails计算newwidth
. $scope.images
当然,如果在浏览器大小发生变化时计算它们会很好,但简单的负载计算就足够了。
更多编辑
$scope.images
对,所以如果我这样称呼它,我至少可以修改
$scope.images = Images.get({}, function(images) {
CreateThumbnails(images, 1000)
}
可悲的是,这是在控制器中,所以仍然想知道如何在指令中访问 $scope.images 以便我可以使用该元素。
更新
呼,终于至少有一些工作了。我只要
$scope.images = Images.get({}, function() {
CreateThumbnails($scope.images, $scope.elementwidth)
)
然后在包含图像的指令中
app.directive("imageGallery", function() {
return function(scope, element, attrs) {
scope.elementwidth = element.innerWidth();
};
});
所以至少它会在加载时创建缩略图,我会尝试看看如何检查浏览器何时调整大小。