我使用ng-repeat
打印所需文件夹中的所有图片,这些图片位于<a>
,因为我使用的是fancyBox。
这是控制器的一个例子:
var ParentCtrl = function ($scope) {
$scope.getTimes=function(n){ // for the ng-repeat
return new Array(n);
};
};
app.controller('projectController', ['$scope','$injector', function($scope, $injector) {
$injector.invoke(ParentCtrl, this, {$scope: $scope});
$scope.title = 'project';
$scope.image_url = 'img/project/';
$scope.image_num = 14; //image count -> [0.jpg, 1.jpg, 2.jpg, ..., 13.jpg]
}]);
模板:
<a href="" class="fancybox" rel="project-gallery"
data-ng-repeat="t in getTimes(image_num) track by $index"
data-ng-href="{{image_url+($index)+'.jpg'}}">
<img src="{{image_url+($index)+'.jpg'}}">
</a>
这段代码工作正常,它显示了所有14张图片。但是,我在控制台中收到此错误:
GET http://localhost/projects/project-name/%7B%7Bimage_url+($index)+'.jpg'%7D%7D 404 (Not Found)
如何修复该错误?
答案 0 :(得分:19)
这就是您要找的内容:https://docs.angularjs.org/api/ng/directive/ngSrc
这是因为浏览器尝试使用您提供的src
来获取图像。如果您使用ng-src
,则角色将在编译表达式之前等待,然后将src
附加到<img>
元素。
答案 1 :(得分:6)
在您的模板中,请使用data-ng-src
而不是src
。您的新模板将变为
<a href="" class="fancybox" rel="project-gallery"
data-ng-repeat="t in getTimes(image_num) track by $index"
data-ng-href="{{image_url+($index)+'.jpg'}}">
<img data-ng-src="{{image_url+($index)+'.jpg'}}">
</a>
见