Обычно вы выполняете итерации по строке, что-то вроде этого:
<div class="row" ng-repeat = "x in dogObj">
<div class ="col-lg-4">
<img src="{{x.src}}" height="350" width = "400"></li>
</div>
</div>
В вашем примере создается плохо сформированный html (проверьте соотношение элементов ul и li).Как выглядит JSON?Вы также получите проблему с размерами изображений в адаптивном макете.
ng-repeat не обеспечивает много логики (что хорошо, вам не нужно слишком много логики в вашемПосмотреть).Если вам нужно 3 изображения в строке, вам придется расположить данные в три раза, например
data = [ [ dogObj, dogObj, dogObj ] , ... ]
, затем выполнить итерацию по списку и создать одну строку каждого триплета, как показано выше.Проще, но не так чисто: вы также можете визуализировать все изображения в одной строке и полагаться на адаптивный макет для рендеринга многих строк, используя правильный класс CSS
...
<div class="col-xs-4 col-sm-4 col-md-4 col-lg-4"><img ...
...
, который, по сути, говорит браузеру отображать 3 столбца независимо отРазмер экрана.Строка будет разбита на следующую строку.Тем не менее размеры изображения сломают это.bootstrap предоставляет класс .img-отзывчивый, который может помочь.Ознакомьтесь с документацией по сеточной системе и с img-responseive на www.getbootstrap.com
В любом случае, лучшим вариантом может быть показ меньше столбцов, если размер экрана становится слишком маленьким, и больше, если экран действительно большой.