2015-05-29 2 views
2

Я начинаю с Angular, и я хочу сделать ng-повторение изображений в папке. Все мои изображения имеют разные имена, поэтому я не вижу, как я могу сделать ngSrc для всех изображений.Ng-repeat изображения в папке

Надеюсь, что я достаточно ясен.

+3

Вам нужно показать, что вы сделали до сих пор, чтобы сделать это. Иначе мы не можем вам помочь. –

+0

Ну, я ничего не сделал с этим в своем коде, так как у меня нет подсказки. Я чувствую, что должен создать массив с именами моих изображений, но я не понимаю, как это сделать. (Как после того, как я смог сделать ng-repeat на этом массиве и использовать результат с ng-src) – Yonben

ответ

4

Вы можете попробовать что-то вроде этого.

Захватите все имена файлов изображений и сохраните их в массиве javascript с помощью javascript для вашего контроллера. Я предполагаю, что вы будете делать это на своей стороне сервера и вернуть JSON обратно клиенту через API или службу.

В вашем контроллере результат будет выглядеть следующим образом.

$scope.myImages = ["image1.jpg", "image2.jpg"]; 

У вас сейчас много вариантов. Один из способов - написать небольшую функцию, которая возвращает полный путь и вызывает его из ng-src.

$scope.getImagePath = function(imageName) { 
return "http://yoursite/location/" + imageName; 
}; 

<div ng-repeat="myImage in myImages"> 

<img ng-src="{{getImagePath(myImage)}}"/> 

</div> 

Похожие пост here

Try, чтобы дать некоторые фрагменты кода с помощью JSFiddle или Plunker в следующий раз, как это было бы ясно показать, что вы пытаетесь сделать.

[Update]

Я не знаю, что язык/рамки вы используете на стороне сервера, но, чтобы получить все файлы в каталоге очень просто. Ниже приведены примеры с использованием node.js и C# соответственно.

http://www.csharp-examples.net/get-files-from-directory/

How do you get a list of the names of all files present in a directory in Node.js?

Если вы используете ASP.NET Web API, а затем просто возвращает массив обратно из метода займитесь API контроллера, а затем вызвать этот API из Угловая непосредственно.

Существует множество примеров того, как это сделать. Просто сделайте некоторые исследования, и вы должны быть в порядке.

+0

Ну, мне очень удобно с этой частью. Но, как я понимаю, часть, как борьба с (захват имен файлов), должна быть сделана из бэкэнда. Благодаря ! – Yonben

+0

Я обновил свой ответ. Удачи! – Ren

Смежные вопросы