Я попытаюсь объяснить мою проблему как можно яснее. Я пытаюсь использовать angularJs в своем проекте Laravel в первый раз.
Контроллер только извлекает загруженные фотографии из базы данныхLaravel + AngularJs, используйте базовый путь с ng-scr вместо текущего
public function index()
{
JavaScript::put([
'photos' => Photo::all()
]);
return view('pages.protected.photos.index');
}
Я использую пакет PHP-Варс-To-Js от laracast (это фасад JavaScript вы видите), чтобы передать мой PHP фотографии объекта к мой javascript. Но это не проблема, она работает очень хорошо. Теперь, благодаря этому пакету, я могу получить фотографии объекта прямо в мой угловой контроллер просто
$scope.photoList = photos;
до сих пор так хорошо. Теперь я хочу, чтобы на самом деле отображать изображения и получить, что я установил DIV
<div class="row" ng-repeat="photo in photoList">
Внутри DIV есть
<img ng-src="@{{ photo.path }}">
Проблема заключается в том: фото путь что-то вроде фото/picture.png, где фото - это папка в общедоступном каталоге, а страница, где я пытаюсь отобразить изображения (фотографии), находится в route group
с префиксом /admin
(в конце что-то вроде www.myapp.com/admin/photos). Когда я пытаюсь отобразить изображение, я получаю ошибку 404, потому что он ищет фотографии src в www.myapp.com/admin/photo/picture.png
вместо www.myapp.com/photo/picture.png
.
Мой вопрос: как я могу «заставить» использовать базовый url для поиска правильного пути фотографии?
Я попробовал ваше решение, но это не совсем работа для меня. Я также возвращаюсь к 404, так как теперь он ищет в 'www.myapp.com/admin/getImageSourceFromPhotoPath (photo.path)' – MisterP
@MisterP ah, это означает, что у вас есть угловое приложение, установленное в направлении администратора. В этом случае я бы использовал window.location.origin вместо услуги определения местоположения angular'a $. – anthonysmothers
Спасибо, я постараюсь исправить как можно скорее. У меня есть угловая установка в разделе admin, потому что я использую AngularBooter, а не только стандартное угловое приложение. – MisterP