В основном я столкнулся с проблемой, я взял несколько файлов из ввода HTML. Когда нажата кнопка отправки, создается динамический массив этих путей файлов, а затем JSON кодирует этот массив, который динамически создается, и вставляет его в таблицу базы данных. До ввода базы данных это нормально, но проблема возникает, когда я извлекаю этот массив, используя угловые js-http-вызовы, этот массив обрабатывается как строка, затем я делаю его JSON.parse для преобразования его в массив, поэтому $ scope. im – это в основном тот массив, который содержит анализируемый массив.
Теперь я создаю html-элементы динамически, они заполняются относительно ответа от вызова ajax, так как у многих записей в базе данных много элементов, но здесь в каждом элементе есть место для изображения, где я хочу чтобы поставить первое изображение на каждый элемент из вспомогательных массивов. как на первом элементе, я хочу поместить изображение из вспомогательного массива 1 0-й файл элемента / файл / img1.jpg, во втором элементе я хочу поместить изображение из вспомогательного массива 2-го файла элемента / file1 / img1.jpg и так далее …
это элементы, сделанные динамически, прозрачные – часть изображения.
Вот как я разбираю массив.
$http({ method:"POST", url:"files.php", data:$.param({ tot_data:true }), headers:headers }).then(function(res){ $scope.d = res.data; $scope.im=[]; for(var i=0; i<$scope.d.length; i++){ $scope.im = JSON.parse($scope.d[i].imgs); console.log($scope.im[i]); } });
Это результат, который я получаю на консоли:
Но когда я помещаю его в html
<p>{{im[0]}}</p>
Тем не менее я получаю один и тот же путь для каждого элемента, а не как результат, показанный на консоли
Управляемый для итерации по вашему массиву с помощью следующего кода
JS
$scope.test = ["files/file3/img1.jpg","files/file3/img2.jpg","files/file3/img3.jpg","files/file3/img4.jpg"];
HTML
<ul> <li ng-repeat="t in test"> <div> <b>{{t}}</b> </div> </li> </ul>
Вывод :
При этом вы сможете отображать все ваши изображения. (интегрируйте ng-repeat в любой элемент, который вы хотите).
В основном, если вы берете код из своего следующего вопроса, у вас может быть что-то вроде
HTML
<div ng-repeat="files in im"> <<ul> <li ng-repeat="f in files"> <div> <img ng-src="{{f}}" alt="Your wonderful image" /> </div> </li> </ul> </div>
JS
$scope.im = [ ["files/file/img1.bmp", "files/file/img2.jpg", "files/file/img3.jpg", "files/file/img4.jpg", "files/file/img5.jpg", "files/file/img6.jpg", "files/file/img7.jpg", "files/file/img8.jpg", "files/file/img9.jpg"], ["files/file1/img1.jpg", "files/file1/img2.jpg", "files/file1/img3.jpg", "files/file1/img4.jpg", "files/file1/img5.jpg", "files/file1/img6.jpg", "files/file1/img7.jpg", "files/file1/img8.jpg", "files/file1/img9.jpg"], ["files/file2/img1.jpg", "files/file2/img2.jpg", "files/file2/img3.jpg", "files/file2/img4.jpg", "files/file2/img5.jpg", "files/file2/img6.jpg", "files/file2/img7.jpg", "files/file2/img8.jpg", "files/file2/img9.jpg"] ];
Надеюсь это поможет.